Двоичная система счисления: как работает и где применяется

Статья Теория чисел

Если бы инопланетяне прилетели на Землю и увидели наши десять пальцев, они бы решили, что мы — отсталая цивилизация. У них самих, возможно, две руки с одним пальцем — или вообще нет рук. И вся их математика построена не на десятке цифр, как у нас, а всего на двух: ноль и единица. Звучит примитивно? А теперь оглянитесь. Вы читаете этот текст с экрана, в котором каждая буква, картинка, звук — это длинная цепочка нулей и единиц. Двоичная система настолько мощная, что вытащила человечество от арифмометра до полётов на Марс.

Двоичная система счисления — это способ записывать числа всего двумя цифрами: 0 и 1. Каждый разряд означает степень двойки. Эта система лежит в основе всех компьютеров, потому что её легко представить через два состояния — «есть ток» и «нет тока», «включено» и «выключено».

💡 Интересный факт: двоичная система намного древнее компьютеров. Её придумали в Древнем Китае около 1000 года до нашей эры — в трактате «Книга перемен» (И Цзин) 64 жизненные ситуации обозначались комбинациями из шести сплошных и прерывистых линий. Это были чистые шестизначные двоичные числа за две с половиной тысячи лет до Лейбница. Когда в 1703 году Лейбниц увидел И Цзин, он чуть не упал со стула: он только что переоткрыл эту систему в Европе.

Что такое двоичная запись: пример с лампочками

Двоичное число 1101 = 13 Каждая «лампочка» — это степень двойки. Складываем только те, что горят.

1 8

1 4

0 2

1 1 2⁰

8 + 4 + 0 + 1 = 13 Горящие лампы складываем, погашенные пропускаем

Рис. 1. Двоичное число 1101 — это «горящие» степени двойки: 8 + 4 + 1 = 13

Представьте, что у вас на стене висит ряд лампочек. Каждая может только гореть или не гореть — третьего не дано. Если у нас четыре лампочки, то комбинаций «включено/выключено» получится 2 × 2 × 2 × 2 = 16. Этого достаточно, чтобы закодировать любое число от 0 до 15, просто договорившись, какая лампочка какое значение даёт.

Договариваются так: каждая лампочка слева направо — это степень двойки. Самая правая — единица (2⁰), следующая — двойка (2¹), потом четвёрка (2²), потом восьмёрка (2³). Если лампочка горит — её число входит в сумму, если нет — не входит.

Например, чтобы показать число 13, нам нужны слагаемые 8 + 4 + 1. Горят первая, вторая и четвёртая лампочки, гасит третья. Запись: 1101. Всё, это и есть число 13 в двоичной системе.

Как переводить из двоичной в десятичную

Берём двоичное число и над каждой цифрой подписываем её «вес» — степень двойки, начиная справа: 2⁰, 2¹, 2², 2³ и так далее. Потом умножаем каждую цифру на её вес и складываем.

Пример: переведём 101101.

2⁵=32 2⁴=16 2³=8 2²=4 2¹=2 2⁰=1
1 0 1 1 0 1

Складываем там, где стоит единица: 32 + 0 + 8 + 4 + 0 + 1 = 45. Готово.

Как переводить из десятичной в двоичную

Тут есть два рабочих способа. Они дают один и тот же результат, но кому-то проще один, кому-то другой.

Способ 1. Деление с остатком на 2

Перевод 25 → двоичная: деление с остатком

Делим = частное остаток

25 ÷ 2 12 1

12 ÷ 2 6 0

6 ÷ 2 3 0

3 ÷ 2 1 1

1 ÷ 2 0 1

читаем снизу вверх

25 в двоичной системе = 11001 Проверка: 16 + 8 + 0 + 0 + 1 = 25 ✓

Рис. 2. Перевод числа 25 в двоичную систему: делим на 2 и читаем остатки снизу вверх

Делим число на 2, записываем остаток. Получившееся частное снова делим на 2, снова записываем остаток. И так до тех пор, пока частное не станет нулём. Потом читаем остатки снизу вверх — это и есть двоичная запись.

Пример: переводим 25.

Делим Частное Остаток
25 ÷ 2 12 1
12 ÷ 2 6 0
6 ÷ 2 3 0
3 ÷ 2 1 1
1 ÷ 2 0 1

Читаем остатки снизу вверх: 11001. Проверим: 16 + 8 + 0 + 0 + 1 = 25. Верно.

Способ 2. Подбор степеней двойки

Запоминаем (или выписываем) степени двойки: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024. Берём самую большую степень двойки, которая не больше нашего числа, вычитаем её. Дальше — повторяем то же самое с остатком. Все степени, которые «поучаствовали», получают единицу, остальные — ноль.

Пример: 25. Самая большая степень ≤ 25 — это 16. Остаток: 25 − 16 = 9. Следующая ≤ 9 — это 8. Остаток: 9 − 8 = 1. Следующая ≤ 1 — это 1 (то есть 2⁰). Остаток 0, закончили. Поучаствовали степени 16, 8, 1. В позициях 16, 8, 1 — единицы, в позициях 4 и 2 — нули. Получаем 11001. Тот же ответ.

Где двоичная система работает в жизни

Внутри телефона и компьютера

В процессоре любого устройства миллиарды крошечных транзисторов. Каждый умеет ровно две вещи: пропускать ток или не пропускать. Это идеальная физическая реализация двух цифр — 0 и 1. Любое число, буква, пиксель картинки или сэмпл звука сначала превращается в цепочку битов (двоичных цифр), а потом эта цепочка летает по проводам внутри чипа со скоростью миллиарды раз в секунду. Когда вы нажимаете «отправить» в мессенджере, ваше сообщение — это просто очень длинное двоичное число.

QR-коды и штрихкоды

Смартфон сканирует QR-код
QR-код — это сетка из нулей и единиц: чёрный квадратик «1», белый «0». Камера переводит картинку обратно в число.

Когда вы наводите камеру на QR-код в кафе, чтобы посмотреть меню, камера видит чёрные и белые квадратики. Чёрный = 1, белый = 0. Из этой сетки нулей и единиц программа собирает ссылку на сайт. Обычный штрихкод на упаковке шоколадки работает так же: чередование чёрных и белых полосок разной толщины — это двоичный код, в котором зашит номер товара.

Игра «угадай число» за 7 вопросов

Загадайте число от 1 до 100. Друг угадывает за семь вопросов, каждый из которых требует ответа «да» или «нет». Звучит почти как магия, но это чистая двоичная математика: семь ответов «да/нет» — это семь битов, а 2⁷ = 128 > 100. Хватает семи бинарных вопросов, чтобы различить любое из ста чисел. Этот же принцип работает в алгоритме бинарного поиска, которым программисты ищут нужное среди миллионов записей за доли секунды.

Космические аппараты

Сигналы с марсохода Perseverance летят на Землю шестнадцать минут со скоростью света — и приходят они именно в двоичной форме. Любая фотография марсианского кратера, любые показания приборов — это последовательность нулей и единиц. NASA специально использует двоичный код с избыточностью: даже если часть битов потеряется в шуме космоса, остальные позволят восстановить сообщение.

Задачи для самопроверки

Задача 1 (попроще)

Переведите двоичное число 1010 в десятичную систему.

Показать решение

Веса разрядов справа налево: 1, 2, 4, 8. Цифры (справа налево): 0, 1, 0, 1. Считаем там, где стоит единица: 0·1 + 1·2 + 0·4 + 1·8 = 2 + 8 = 10.

Задача 2 (посложнее)

Запишите число 50 в двоичной системе.

Показать решение

Делим с остатком: 50 ÷ 2 = 25 (0), 25 ÷ 2 = 12 (1), 12 ÷ 2 = 6 (0), 6 ÷ 2 = 3 (0), 3 ÷ 2 = 1 (1), 1 ÷ 2 = 0 (1). Читаем остатки снизу вверх: 110010. Проверка: 32 + 16 + 0 + 0 + 2 + 0 = 50. ✓

Задача 3 (на сложение)

Сложите два двоичных числа: 1011 + 0110. Подсказка: правила точно как в столбике, только переход — на «2», а не на «10».

Показать решение

Складываем разряды справа налево. 1+0=1. 1+1=10, пишем 0, в уме 1. 0+1+1=10, пишем 0, в уме 1. 1+0+1=10, пишем 0, в уме 1. Дописываем 1 слева. Получается 10001. Проверка: 11 + 6 = 17, а 10001 = 16+1 = 17. ✓

История двоичной системы

Первые двоичные записи человечество знало задолго до электричества. Древние китайцы записывали состояния в Книге Перемен сплошными и прерывистыми линиями. Древние индийцы использовали двоичные ритмы в стихосложении: трактат Пингалы (около III века до н. э.) содержит то, что сегодня называется треугольником Паскаля — формулу биномиальных коэффициентов в двоичной форме.

Современную двоичную арифметику заново открыл Готфрид Лейбниц в 1703 году. Он восторженно писал, что только ноль и единица «достаточны, чтобы выразить все числа», и видел в этом некий философский смысл — единство и пустота, бытие и небытие. Но практическое применение пришло через 250 лет: в 1937 году Клод Шеннон, аспирант MIT, в своей магистерской диссертации показал, что электрические цепи из реле могут вычислять логические операции с двоичными числами. Это был тот самый момент, когда родилась цифровая эра.

Удивительный финал: 10 типов людей

У программистов есть старая шутка: «В мире всего 10 типов людей: те, кто понимает двоичную систему, и те, кто не понимает». Если у вас появилась улыбка — поздравляем, вы только что прочитали 10 как «два», а не «десять». А значит, эта статья сделала своё дело.

Любопытно, что подобные шутки возможны только в двоичной системе. И ещё кое-что: в начале XXI века учёные обнаружили, что нейроны мозга работают практически по двоичному принципу — нервный импульс либо проходит, либо нет. То есть ваш собственный мозг прямо сейчас обрабатывает эту статью способом, который природа изобрела миллионы лет назад. Возможно, Лейбниц был прав, и ноль с единицей действительно — это самое фундаментальное, что есть в нашей реальности.

FAQ

Почему компьютеры используют именно двоичную систему?

Потому что физически проще всего реализовать два состояния. В транзисторе либо есть ток, либо нет. Различать десять уровней напряжения сложнее, дороже и менее надёжно. Двоичный сигнал устойчив к помехам: даже если напряжение слегка просядет, ноль останется нулём, а единица — единицей.

Сколько информации помещается в один бит?

Один бит — это ответ «да» или «нет» на один вопрос. Восемь битов составляют один байт. Один байт может закодировать 256 разных значений (2⁸ = 256) — этого хватает на латинский алфавит, цифры, знаки препинания и спецсимволы. Для русских букв и эмодзи нужно больше — обычно два-четыре байта на символ.

Какие ещё системы счисления существуют?

Любая система с основанием больше единицы. Десятичная (основание 10) — наша обычная. Двоичная (основание 2) — для компьютеров. Восьмеричная (8) и шестнадцатеричная (16) тоже часто встречаются в программировании, потому что легко переводятся в двоичную. Древние шумеры пользовались шестидесятеричной системой — отголоски этого до сих пор живут в часах (60 минут, 60 секунд) и градусах (360°).

Можно ли записать дробное число в двоичной системе?

Да, точно так же, как в десятичной — через точку. После двоичной запятой идут разряды 2⁻¹ = ½, 2⁻² = ¼, 2⁻³ = ⅛ и так далее. Например, число 5,75 в двоичной системе записывается как 101,11 (4 + 1 + ½ + ¼ = 5,75).

В каком классе изучают двоичную систему счисления?

В школе двоичная система обычно появляется на уроках информатики в 8 классе. В учебниках Босовой и Семакина ей посвящён отдельный раздел. На математике её изучают в 10–11 классе при подготовке к ЕГЭ — в задании, где нужно переводить числа между системами счисления.

Читайте также

3 комментария к “Двоичная система счисления: как работает и где применяется”

Оставить комментарий