Двоичная система счисления - это запись чисел всего двумя цифрами, 0 и 1. На ней держится вся цифровая техника: от процессора в телефоне до старого калькулятора на батарейках. Калькулятор выше переводит число из любой системы (двоичной, восьмеричной, десятичной, шестнадцатеричной) сразу во все остальные - введите число и выберите его исходное основание.
Как перевести десятичное число в двоичное: пример с числом 100
Способ один - последовательное деление на 2 с записью остатка.
100 ÷ 2 = 50, остаток 0 50 ÷ 2 = 25, остаток 0 25 ÷ 2 = 12, остаток 1 12 ÷ 2 = 6, остаток 0 6 ÷ 2 = 3, остаток 0 3 ÷ 2 = 1, остаток 1 1 ÷ 2 = 0, остаток 1
Деление окончено, когда частное стало нулём. Теперь читаем остатки снизу вверх: 1100100. Это и есть двоичный код числа 100.
Проверить легко через степени двойки: 64 + 32 + 4 = 100, а в разрядах 1100100 как раз стоят единицы на позициях 64, 32 и 4. Совпало.
Как перевести двоичное число в десятичное: пример с числом 11001
Здесь работает обратная логика - позиционные веса. Каждый разряд справа налево соответствует степени двойки: 2⁰, 2¹, 2², 2³ и так далее.
Возьмём двоичное число 11001. Разряды справа налево: 1, 0, 0, 1, 1. Веса: 1, 2, 4, 8, 16.
1 × 1 = 1 0 × 2 = 0 0 × 4 = 0 1 × 8 = 8 1 × 16 = 16
Складываем: 16 + 8 + 0 + 0 + 1 = 25. Двоичное 11001 равно десятичному 25.
Почему компьютеры считают в двоичном коде
Причина не в математике, а в электронике. Транзистор надёжно различает два состояния - ток идёт или не идёт, напряжение высокое или низкое. Строить схему, которая устойчиво различает десять уровней напряжения (для десятичной системы), намного сложнее и дороже: любая помеха в проводе может сбить показания.
Два состояния почти не путаются между собой даже при перепадах напряжения, поэтому транзисторы, память и процессоры работают именно с битами - нулями и единицами. Восемь бит складываются в байт, а из байтов процессор собирает числа, буквы, цвета пикселей и звук.
Таблица: небольшие числа в двоичном коде
| Десятичное | Двоичное |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 10 |
| 5 | 101 |
| 10 | 1010 |
| 25 | 11001 |
| 100 | 1100100 |
| 255 | 11111111 |
Число 255 не случайно оказалось в таблице последним - это максимум, который помещается в один байт (8 бит). Дальше нужен уже второй байт.
Где пригодится перевод в двоичный код
Программирование на низком уровне - работа с битовыми масками, флагами и правами доступа в файловых системах, где каждый бит числа что-то означает по отдельности. Сетевые настройки - маски подсети и IP-адреса построены на группах по 8 бит, и без понимания двоичной записи разобраться в подсетях сложно. Учебные задачи по информатике - перевод чисел между системами счисления входит почти в любую школьную и вузовскую программу.
Частая ошибка при переводе
Самая частая ошибка - забыть перевернуть порядок остатков при делении на 2. Если взять остатки в том порядке, в котором они получались (сверху вниз), результат окажется зеркальным и неверным. Проверяйте себя через степени двойки: сумма весов на местах единиц должна точно совпасть с исходным десятичным числом.