9. Считаем на двух пальцах

🏠

Маяк и робот-спасатель

Ты — инженер на маяке. На далёком острове стоит робот-спасатель, который понимает только два состояния: «свет горит» и «свет не горит». Голосовой связи нет.

Тебе нужно передать роботу количество ящиков с припасами — число 13.

Первая идея: мигнуть 13 раз. Но если ящиков 1000? Мигать тысячу раз — долго, можно сбиться, и робот может «уснуть», ожидая конца сообщения.

Кризис: унарная система (счёт палочками) неэффективна. Как передать большое число быстро, используя только вкл/выкл?

В числе 13 цифра «1» стоит на месте десятков, а «3» — на месте единиц. Это потому, что у нас 10 пальцев. Но у лампочки «два пальца» — вкл и выкл.

Нам нужно изменить «ценность» позиции. Вместо того чтобы позиции росли в 10 раз (1, 10, 100), они будут расти в 2 раза.

👛

Метафора: кошельки с монетами

Представь стол, на котором в ряд лежат кошельки. На правом написано «1», левее — «2», затем «4», «8», «16»...

В каждый кошелёк можно положить только одну монету (1) или оставить его пустым (0). Две монеты в один кошелёк — нельзя!

8 восьмёрки
4 четвёрки
2 двойки
1 единицы

Как набрать сумму 13, используя кошельки номиналом 8, 4, 2, 1?

1 Берём самый большой кошелёк, который влезает в 13 → это 8. Осталось набрать 5. Метка: «взяли» (1).
2 Следующий кошелёк — 4. Влезает в 5? Да. Берём. Осталось набрать 1. Метка: «взяли» (1).
3 Следующий кошелёк — 2. Влезает в 1? Нет. Пропускаем. Метка: «пусто» (0).
4 Последний кошелёк — 1. Влезает? Да! Берём. Метка: «взяли» (1).
Результат: 1101 = 8 + 4 + 0 + 1 = 13

Включай тумблеры, чтобы набрать нужное число. Каждый тумблер добавляет свой «вес» к сумме.

Двоичный код: 00000000
Десятичное число: 0

Любое целое число можно представить как сумму уникальных степеней двойки. Это не магия — это математическая неизбежность, как раскладывание гирек на весах.

Степень Значение
20 1
21 2
22 4
23 8
24 16
25 32
26 64
27 128

Чтобы не путать 10 (десять) и 10 (два в двоичной), используем нижний индекс:

1310 — тринадцать (десятичная)
11012 — тоже тринадцать (двоичная)
Определение

Формула разложения

N = dn × 2n + ... + d1 × 21 + d0 × 20

Где d — это цифра (0 или 1).

Для числа 13: 1×8 + 1×4 + 0×2 + 1×1 = 13

🖐️ Счёт на одной руке

Если каждый палец — двоичный разряд (мизинец = 1, безымянный = 2, средний = 4, указательный = 8, большой = 16), какое максимальное число можно показать?

Сумма: 0

Ответ: 31 = 16 + 8 + 4 + 2 + 1 (все пальцы подняты)

Сдвиг

Если к двоичному числу справа приписать ноль (было 101 → стало 1010), что произошло с числом?

1012 = 5 → приписали 0 → 10102 = 10

Число удвоилось! Так же как приписка нуля в десятичной умножает на 10.

Чётность

Как мгновенно определить, чётное ли двоичное число 110101110?

Смотри на последнюю цифру! Если 0 — чётное, если 1 — нечётное. Это работает, потому что последний разряд — это единицы.

Компьютер хранит картинки как набор чисел. Переведи каждое число в 8-битный двоичный код, и на сетке проявится узор!

Резюме

Число — это абстрактная идея количества. «13», «XIII», «тринадцать» и «1101» — просто разные «костюмы» для одной идеи.

Мы используем десятичную систему из-за анатомии (10 пальцев), а машины — двоичную из-за физики (ток есть / тока нет). Понимая двоичную систему, ты говоришь на родном языке электричества.