Переклад з двійкової в десяткову - все просто
Фраза про те, що все нове - це не що інше, як добре забуте старе, повною мірою відноситься до двійковій системі числення. Виявляється, що ще в стародавньому Китаї вже застосовували щось, що нагадує наші «одиничка-нулик», правда не для арифметики, а для написання текстів книги Змін. Ближче всіх до розуміння різних систем числення були інки: вони використовували і десяткову, і двійкову системи, правда, останню тільки для текстових та кодованих повідомлень. Можна припустити, що вже тоді, 4 тис. Років тому, інки знали, як робиться переклад з двійкової в десяткову систему.
Сучасний варіант двійкової системи був запропонований Лейбницем всього лише близько 300 років тому, а ще через півтора століття Джордж Буль залишив своє ім'я в пам'яті нащадків роботою з алгебри логіки. Двійкова арифметика спільно з алгеброю логіки стала фундаментом нинішньої цифрової техніки. А почалося все в 1937 році, коли був запропонований метод символічного аналізу релейних і перемикальних схем. Ця робота Клода Шенона стала «мамою» для релейного комп'ютера, що виконував двоичное додавання вже в 1937 році. І, звичайно ж, одним із завдань цього «прадідуся» сучасних комп'ютерів був переклад з двійкової в десяткову систему.
Минуло всього три роки і чергова модель релейного «комп'ютера» посилала команди калькулятору комплексних чисел, використовуючи телефонну лінію і телетайп - ну прямо древній інтернет в дії.
Що ж являють собою двоичная, десяткова, шістнадцяткова і, взагалі кажучи, будь-яка N-кова система? Та нічого складного. Візьмемо тризначне число в нашій улюбленій десяткового системі, воно зображується за допомогою 10 знаків - від 0 до 9 з урахуванням їх розташування. Визначимося, що цифри цього числа знаходяться на позиціях 0, 1, 2 (порядок йде від останньої цифри до першої). На кожній з позицій може перебувати будь-яке з чисел системи, однак величина цього числа визначається не тільки його накресленням, але і місцем становища. Наприклад, для числа 365 (відповідно, позиція 0 - цифра 5, позиція 1 - цифра 6, і позиція 2 - цифра 3) значення числа на нульовій позиції - просто 5, на першій позиції - 6 * 10, і на другий - 3 * 10 * 10. Тут цікаво, що починаючи з першої позиції, число містить значущу цифру (від 0 до 9) і основа системи в ступені рівною номеру позиції, тобто можна записати, що 345 = 3 * 10 * 10 + 6 * 10 +3 = 3 * 102 + 6 * 101 + 5 * 100.
Ще приклад:
260974 = 2 * 105 + 6 * 104 + 0 * 103 + 9 * 102 + 7 * 101 + 4 * 100.
Як бачимо, кожне позиційне місце містить значуще число з набору даної системи, і множник з підстави системи в ступені рівній позиції даного числа (розрядність числа це є кількість позицій, але на +1 більше).
З точки зору представлення числа, його двоичная форма спантеличує своєю простотою - тільки 2 числа в системі - 0 і 1. Але краса математики в тому, що навіть в усіченому вигляді, як може здатися, двійкові числа такі ж повноцінні і рівноправні, як і їх більш «рослі товариші». Але як же їх порівнювати, наприклад, з десятковим числом? Як варіант, потрібно зробити, і не поспішаючи, переклад з двійкової системи числення в десяткову. Завдання не назвеш важкою, але ця копітка робота потребує уваги. Отже, почнемо.
Виходячи зі сказаного вище про порядок подання чисел у будь-якій системі, і маючи на увазі найпростішу з них - двійкову, візьмемо будь-яку послідовність «одиничок-нуликів». Назвемо це число VO (по-русски ВО), і спробуємо дізнатися, що це таке - переклад з двійкової в десяткову систему. Нехай це буде VO = 11001010010. На перший погляд, число як число. Подивимося!
У першому рядку розташуємо саме число в розтягнутому вигляді, а другий розпишемо як суму кожній позиції у вигляді співмножників - значущої цифри (тут вибір невеликий - 0 або 1) і числа 2 в ступені, що дорівнює позиційному числу в десятковій системі, ми ж робимо переклад з двійковій в десяткову. Тепер у другому рядку потрібно просто виконати обчислення. Для наочності можна дописати ще і третій рядок з проміжними обчисленнями.
VO = 1 1 0 0 1 0 1 0 0 1 0-
VO = 1 * 210 + 1 * 29 + 0 * 28 + 0 * 27 + 1 * 26 + 0 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 1 * 21 + 0 * 20-
VO = 1 * 1024 + 1 * 512 + 0 * 256 + 0 * 128 + 1 * 64 + 0 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 1 * 2 + 0 * 1.
Обчислюємо «арифметику» в третьому рядку і маємо те, що шукали: VO = 1618. Ну і що ж тут чудового? А те, що це число - саме знамените з усіх, які відомі людям: з ним пов'язані пропорції єгипетських пірамід, знаменитої Джоконди, музичних нот і людського тіла, але ... Але з невеликим уточненням - знаючи, що хорошого повинно бути багато, його величність випадок дав нам це число в 1000 разів більше справжнього значення - 1,618. Напевно, щоб усім дісталося. А попутно переклад з двійкової системи в десяткову допоміг з нескінченного моря чисел «виловити» саме чудове - його ще називають «золота пропорція».