Двоичное кодирование: нули, единицы и биты
Почему компьютеру хватает нулей и единиц: лампочка, магнит и ямка на диске. Переводим числа до 32 в двоичную систему, считаем биты, байты и коды.
Фонарик в тёмной комнате: горит — «да», погас — «нет». Двумя сигналами можно передавать целые сообщения, если договориться о коде: один миг — «иди сюда», два — «подождись». Именно так работают все компьютеры на свете: у электроники надёжнее всего различать два состояния, и на них строится всё — от смайликов до космических снимков. Разберёмся, почему два состояния удобнее десяти и как из нулей и единиц получаются обычные числа.
Почему компьютеру удобно всего два состояния
Попробуй на глаз различить десять оттенков яркости лампочки: еле горит, чуть ярче, ещё ярче... Издалека или при помехах они сливаются. А вот «горит или нет» не перепутаешь никогда. Электроника поступает так же: сигнал либо есть, либо нет — промежуточное состояние при скачках напряжения опасно и ненадёжно. Два состояния различаются с огромным запасом прочности, поэтому компьютеры строят на них, хотя инженеры умеют и больше.
Два состояния у каждого носителя свои. Лампочка или светодиод: горит — не горит. Магнитное покрытие жёсткого диска: намагничено в одну сторону — в другую. Компакт-диск: ямка — гладкое место, лазер читает их по-разному. Ячейка памяти: заряд есть — заряда нет. Все эти «или-или» записываются одними цифрами: состояние «есть» обозначим единицей, «нет» — нулём. Получился двоичный код — язык, на котором говорит вся вычислительная техника.
| Носитель | Два состояния | Запись |
|---|---|---|
| Светодиод | горит — не горит | 1 или 0 |
| Магнитный диск | намагничено туда — сюда | 1 или 0 |
| Компакт-диск | ямка — гладкое место | 1 или 0 |
| Ячейка памяти | заряд есть — заряда нет | 1 или 0 |
Один бит хранит крошечный объём: да или нет. Поэтому биты собирают в цепочки, как вагоны в поезд: восемь бит — байт, байты — в килобайты и дальше. На жёстком диске магнитные частички лежат миллиардами, на компакт-диске ямки тянутся спиральной дорожкой длиной в несколько километров — и всё это одна длинная строка из нулей и единиц. Мощность компьютера — не в хитрых цифрах, а в чудовищном количестве простых бит.
Возникает вопрос: а если бы электроника умела надёжно различать десять состояний, жили бы мы в десятичной системе? Возможно. Но два состояния — это просто выключатель, а десять чётких состояний в одном проводе требуют сложных схем, боятся помех и стоят дороже. Инженеры выбрали надёжность: пусть каждый элемент различает только «есть и нет», зато миллиарды таких элементов работают без сбоев.
Переводим числа в двоичную систему
В двоичной системе всего две цифры — 0 и 1, а разряды означают степени двойки: единицы, двойки, четвёрки, восьмёрки, шестнадцатёрки. Чтобы перевести число в двоичную запись, делим его на 2 и записываем остатки: был остаток — пишем 1, поделилось нацело — пишем 0. Потом читаем остатки снизу вверх. Покажем на числе 13.
- Делим 13 на 2: получается 6, остаток 1. Пишем 1.
- Делим 6 на 2: получается 3, остаток 0. Пишем 0.
- Делим 3 на 2: получается 1, остаток 1. Пишем 1.
- Делим 1 на 2: получается 0, остаток 1. Пишем 1. Частное стало нулём — стоп.
- Читаем остатки снизу вверх: 1101. Тринадцать — это 1101 в двоичной системе.
- Проверяем разрядами: 8 + 4 + 0 + 1 = 13. Сошлось.
Есть быстрый способ проверить ответ: двоичная запись любого числа начинается с единицы — ведущие нули не пишут. И ещё подсказка: чётное число всегда кончается на 0, нечётное — на 1. Шестнадцать чётное — его запись 10000, а пятнадцать нечётное — 1111. Эти две проверки ловят большинство ошибок на контрольной: смотри на первый и последний знак записи.
Обратный перевод ещё проще: под каждым разрядом пишем его вес — 16, 8, 4, 2, 1 — и складываем те, над которыми стоит единица. Возьмём запись 1011: единицы стоят над 8, 2 и 1, значит, это 8 + 2 + 1 = 11. Запись 10000 — единственная единица над шестнадцатью, значит, это 16. Тренируйся на числах до 32: их двоичные записи занимают не больше пяти-шести разрядов, и весь перевод делается в уме.
Полезная шпаргалка: 1 — это 1, 2 — это 10, 4 — это 100, 8 — это 1000, 16 — это 10000, 32 — это 100000. Степени двойки в двоичной записи выглядят как единица и нули — круглые числа двоичного мира. Число 20 раскладывается как 16 + 4, значит, его запись — 10100: единицы над шестнадцатью и над четвёркой. Разложишь число на степени двойки — запись соберётся сама.
Потренируемся на 25 и 30. Двадцать пять = 16 + 8 + 1: единицы над шестнадцатью, восьмёрками и единицами — запись 11001. Тридцать = 16 + 8 + 4 + 2: без единичного разряда — запись 11110. Заметь: 31 = 11111 — все пять разрядов заполнены, а следующее число, 32, требует шестого разряда: 100000. Именно так растёт длина двоичной записи — скачком на степенях двойки.
В двоичной системе всего цифры: 0 и 1. В одном байте бит. Из 5 бит можно собрать разных кодов.
Банк слов
Бит, байт и счёт кодов
Один разряд двоичной записи — это бит, минимальная порция информации: 0 или 1. Восемь бит складываются в байт — столько занимает одна буква текста: например, буква «а» хранится как 01100001. Из байтов собираются килобайты, мегабайты и гигабайты, а один килобайт — это 1024 байта, то есть степень двойки: 2 в десятой степени. Даже единицы памяти у компьютера двоичные до мозга костей.
| Бит в коде | Разных кодов | Примеры |
|---|---|---|
| 1 | 2 | 0 и 1 |
| 2 | 4 | 00, 01, 10, 11 |
| 3 | 8 | от 000 до 111 |
| 4 | 16 | от 0000 до 1111 |
| 5 | 32 | от 00000 до 11111 |
Закономерность в таблице — степени двойки: 2, 4, 8, 16, 32. Каждый новый бит удваивает количество возможных кодов: был код про «лампочка горит или нет», добавили второй бит — вариантов стало в два раза больше. Правило: N бит дают 2 в степени N разных кодов. Поэтому пять бит различают 32 варианта, а байт из восьми бит — уже 256: хватает на все буквы двух алфавитов, цифры и знаки препинания.
Это правило работает вокруг тебя. В старых игровых приставках персонажей раскрашивали палитрами из 4, 16 или 256 цветов — это ровно 2, 4 и 8 бит на пиксель. Один бит на пиксель — чёрно-белая картинка без полутонов, как в первых играх. Чем больше бит на пиксель, тем больше оттенков. Так счёт кодов объясняет, почему одни картинки выглядят «кубиками», а другие — как фотография.
Прикинь на примере дверного кодового замка: три кнопки-переключателя, каждая в положении вверх или вниз. Это три бита — восемь кодов, от «вверх-вверх-вверх» до «вниз-вниз-вниз». Добавишь четвёртый переключатель — кодов станет шестнадцать, и подобрать его вслепую вдвое труднее. Этим же правилом пользуются при выборе длины пароля: каждый лишний символ удваивает число комбинаций, поэтому длинный пароль ломать невыгодно.
Словарь урока
- Бит#
- один разряд двоичной записи: 0 или 1, минимальная порция информации
- Байт#
- восемь бит; столько занимает один символ текста
- Двоичная система#
- система счисления с двумя цифрами: 0 и 1
- Разряд#
- позиция цифры в записи числа
- Остаток#
- то, что остаётся при делении на 2: 0 или 1 — и есть двоичная цифра
- Код#
- договорённая запись информации нулями и единицами
Где применять дальше: двоичная запись — фундамент всего, что происходит внутри устройств. Дальше по программе информатики 6 класса — таблицы и графические данные. А потренироваться можно прямо сейчас: переводи номера домов и годы рождения в двоичную систему — через неделю будешь делать это быстрее калькулятора.
Проверь себя
Клавиши 1–9 выбирают вариант, Enter — «Проверить»
1 Сколько разных значений может принять один бит?
2 Какие носители хранят бит в виде двух состояний?
3 Переведи число 6 в двоичную систему. Запиши только цифры без пробелов.
4 Из 3 бит можно собрать 8 разных кодов.
5 Расставь двоичные записи по возрастанию чисел.
6 Дополни правила двоичной системы.
Выбери подходящее слово в каждом пропуске.
В двоичной системе всего цифры: 0 и 1. В одном байте бит. Из 5 бит можно собрать разных кодов.
7 Соедини записи и их смысл.
Нажми на элемент слева, затем на его пару справа. Повторное нажатие отменяет связь.
Было понятно? Скажи — так мы видим, какие темы переписать.
Частые вопросы
Почему компьютер использует именно два состояния, а не десять?
Различить «сигнал есть — сигнала нет» можно надёжно даже при помехах, а десять оттенков легко перепутать. Из простых и надёжных элементов собирают сложные устройства — так техника ломается реже.
Как перевести число в двоичную систему?
Делим число на 2 и записываем остатки, пока не получим ноль. Потом читаем остатки снизу вверх: например, тринадцать превратится в 1101.
Сколько кодов дают 5 бит?
Каждый бит удваивает количество кодов, поэтому пять бит дают 32 варианта. По тому же правилу байт из восьми бит даёт 256 кодов.
Что больше: бит или байт?
Байт — это восемь бит, он в восемь раз больше. В одном байте хранится один символ текста, например буква «а».