All Your Base

All Your Base

صعب

مقدمة

لقد تم تعيينك للتو أستاذًا للرياضيات. سار أسبوعك الأول على ما يرام، لكن هناك شيء غريب في أسبوعك الثاني. المشكلة أن كل إجابة يقدّمها طلابك خاطئة! لحسن الحظ، مكّنتك مهاراتك في الرياضيات من تحديد المشكلة: إجابات الطلاب صحيحة فعلًا، لكنها جميعًا بالأساس 2 (الثنائي)! والمثير للدهشة أن الطلاب يستخدمون أساسًا مختلفًا كل أسبوع. ولمساعدتك على التحقق من إجابات الطلاب بسرعة، ستبني أداة للتحويل بين الأسس.

التعليمات

حوّل متتالية من الأرقام في أساس معيّن، تمثّل عددًا، إلى متتالية من الأرقام في أساس آخر، تمثّل العدد نفسه.

Note

جرّب أن تنفّذ التحويل بنفسك. لا تستخدم شيئًا آخر للقيام بالتحويل نيابةً عنك.

عن الترميز الموضعي

في الترميز الموضعي، يمكن فهم عدد في الأساس b على أنه تركيبة خطية من قوى b.

العدد 42، في الأساس 10، يعني:

(4 × 10¹) + (2 × 10⁰)

العدد 101010، في الأساس 2، يعني:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

العدد 1120، في الأساس 3، يعني:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

نعم. هذه الأعداد الثلاثة أعلاه متطابقة تمامًا. تهانينا!

السجلات

السجل الاستخدام النوع الوصف
$a0 إدخال عدد صحيح عدد الأرقام المدخلة
$a1 إدخال عدد صحيح أساس الأرقام المدخلة
$a2 إدخال عدد صحيح أساس الأرقام المخرجة
$a3 إدخال/إخراج عنوان مصفوفة قابلة للكتابة فوقها من كلمات الأرقام
$v0 إخراج عدد صحيح عدد الأرقام المخرجة، و -1 إذا كان الإدخال غير صالح
$t0-9 مؤقت أي تُستخدم للتخزين المؤقت
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
MIPS Assembly Exercism

مستعد لبدء All Your Base؟

سجّل في Exercism لتتعلّم وتتقن MIPS Assembly عبر 70 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.