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

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

Легка

Вказівки

Перетворіть вісімкове число, подане як рядок тексту (англ. 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

Джерело

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

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

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