Перетворіть двійкове число, подане як рядок тексту (англ. string), наприклад «101010», на його десятковий відповідник, спираючись на базові принципи.
Реалізуйте перетворення двійкового числа на десяткове. Маючи на вході двійковий рядок тексту, програма має видавати десяткове число. Програма має обробляти некоректні вхідні дані.
Десяткова система має основу 10.
Число 23 у записі з основою 10 можна розуміти як лінійну комбінацію степенів числа 10:
Отже: 23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10
Двійкова система схожа на десяткову, але використовує степені числа 2, а не степені числа 10.
Отже: 101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Lisp Flavoured Erlang, а також 68 вправ та справжнє наставництво від людей, і все це безкоштовно.