Информатика, 5 классДвоичный код4 минуты чтения
Двоичный код
У человека десять пальцев, поэтому люди считают десятками. У компьютера пальцев нет, зато есть провода, по которым ток либо идёт, либо не идёт. Отсюда и два знака: ноль и единица.
5классДва состояния
Внутри машины всё сводится к простому вопросу: есть сигнал или нет. Единица означает «есть», ноль означает «нет».
Различить два состояния легко, и помеха тут почти не мешает. Даже если сигнал ослабнет, он всё равно останется заметно сильнее полного молчания.
Из-за этой надёжности двоичная запись победила все остальные.

Разряды и их вес
В обычном числе разряды означают единицы, десятки, сотни. Каждый следующий разряд в десять раз больше предыдущего.
В двоичной записи всё то же самое, только множитель не десять, а два. Разряды идут так: 1, 2, 4, 8, 16, 32 и дальше вдвое.
Единица в разряде означает, что этот вес нужно взять. Ноль означает, что не нужно.
Вес каждого разряда в числе 13
| Разряд | Вес | Что стоит | Взяли |
|---|---|---|---|
| четвёртый | 8 | 1 | 8 |
| третий | 4 | 1 | 4 |
| второй | 2 | 0 | нисколько |
| первый | 1 | 1 | 1 |
Число 13 в двоичной записи
- 18
- 14
- 02
- 11
8 + 4 + 1 = 13
Как перевести число
Перевод делают вычитанием. Берут самый большой вес, который помещается в число, ставят единицу и вычитают.
Потом смотрят на остаток и повторяют с меньшим весом. Там, где вес не помещается, ставят ноль.
Работа заканчивается, когда остаток становится нулевым.
Переводим число 22
- 1Самый большой подходящий вес это 16, ставим единицу, остаток 6
- 2Вес 8 больше остатка, ставим ноль
- 3Вес 4 помещается, ставим единицу, остаток 2
- 4Вес 2 помещается, ставим единицу, остаток 0
- 5Вес 1 не нужен, ставим ноль
- 6Получилось 10110
Обратный перевод
Обратно считать ещё проще: складывают веса тех разрядов, где стоит единица.
Запись 10110 даёт 16 плюс 4 плюс 2, то есть 22. Проверка занимает несколько секунд.
Именно так гейт этого сайта проверяет каждую двоичную схему в уроке.
Проверяем число 22
- 116
- 08
- 14
- 12
- 01
16 + 4 + 2 = 22
Сложение в двоичном виде
Складывают двоичные числа по тем же правилам, что и в столбик. Ноль плюс ноль даёт ноль, ноль плюс единица единицу, а единица плюс единица даёт ноль и перенос в следующий разряд.
Перенос здесь случается чаще, чем в десятичной записи, потому что разряд переполняется уже на двойке. Зато правил всего три, и запомнить их проще таблицы умножения.
Именно это сложение и умеет процессор. Всё остальное, от умножения до рисования, собрано из него.
Чётность видна сразу
У двоичной записи есть удобные приметы. Число чётное, если последний разряд ноль, и нечётное, если единица.
Умножение на два сдвигает всю запись влево на один разряд, а ноль дописывается справа. Деление пополам сдвигает вправо.
В десятичной записи то же самое делает умножение на десять. Правило одно, множители разные.
Десятичная запись
Двоичная
Десять цифр от 0 до 9
Две цифры, 0 и 1
Разряды по десять
Разряды по два
Умножил на десять, дописал ноль
Умножил на два, дописал ноль
Число 13
Запись 1101
Как это выглядит внутри
Разряд внутри машины это крошечный переключатель. Он либо пропускает ток, либо нет, и переключается миллиарды раз в секунду.
Таких переключателей в современном процессоре десятки миллиардов, и все они умещаются на пластинке размером с ноготь. Работают они вместе, и потому машина успевает столько, сколько человеку не под силу и за жизнь.
Ничего волшебного внутри нет. Есть только очень много очень простых переключателей.
Почему записи такие длинные
Двоичная запись всегда длиннее десятичной. Число 1000 занимает четыре цифры, а в двоичном виде десять разрядов.
Человеку это неудобно, а машине всё равно: переключателей у неё миллиарды, и все они работают разом.
Люди же для сокращения придумали промежуточные записи, где один знак заменяет сразу четыре разряда.
Про единицы измерения читай урок «Бит и байт». Про сам код есть урок «Информация и код».
Проверь себя: Какое число записано как 1001?
Девять. Единицы стоят в разрядах с весом восемь и один, а восемь плюс один даёт девять.
Короткие ответы
- Почему именно два знака, а не десять?
- Два состояния легко различить: есть ток или нет. Десять уровней напряжения пришлось бы измерять точно, и любая помеха путала бы соседние.
- Двоичный код придумали для компьютеров?
- Нет, его описал математик Лейбниц более трёхсот лет назад. Компьютеры появились позже и просто оказались для него подходящей машиной.