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

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

Легка

Вказівки

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

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

Примітка

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

Про вісімкову систему (основа 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 Посилання відкривається в новому вікні або вкладці
Java Exercism

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

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