Треки
/
MIPS Assembly
MIPS Assembly
/
Вправи
/
Вісімкова система
Вісімкова система

Вісімкова система

Легка

Вказівки

Перетворіть вісімкове число, подане як рядок тексту (англ. string) (наприклад, «1735263»), на його десятковий еквівалент, використовуючи основні принципи (тобто ні, не можна використовувати вбудовані або зовнішні бібліотеки для виконання перетворення).

Реалізуйте перетворення вісімкового числа на десяткове. Отримавши вхідний рядок тексту у вісімковій системі, програма має видавати десяткові вихідні дані.

Примітка

  • Реалізуйте перетворення самостійно. Не використовуйте щось інше для виконання перетворення за вас.
  • Вважайте некоректні вхідні дані за вісімковий 0.

Про вісімкову систему (основа 8)

Десяткова система має основу 10.

Число 233 у десятковій системі числення можна подати як лінійну комбінацію степенів 10:

  • Крайня права цифра множиться на 10^0 = 1
  • Наступна цифра множиться на 10^1 = 10
  • ...
  • n-та цифра множиться на 10^(n-1).
  • Усі ці значення додаються.

Отже:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

Вісімкова система схожа, але використовує степені 8 замість степенів 10.

Отже:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155

Регістри

Регістр Призначення Тип Опис
$a0 вхідні дані адреса рядок тексту (англ. string) із вісімкових символів, завершений нульовим символом
$v0 вихідні дані ціле число десяткове значення вхідного рядка тексту
$t0-9 тимчасовий будь-який використовується для тимчасового зберігання

Джерело

All of Computer ScienceПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
MIPS Assembly Exercism

Час розпочати Вісімкова система?

Зареєструйтеся на Exercism, щоб вивчати й опановувати MIPS Assembly, а також 70 вправ та справжнє наставництво від людей, і все це безкоштовно.