Теория:

Сегодня каждый из нас не представляет жизнь без компьютера. Компьютер — это устройство, которое может работать с разными видами данных (текстовыми, графическими, звуковыми). Чтобы эти данные компьютер мог сохранить, обработать, передать, они должны быть представлены в цифровом виде. Данные в компьютере хранятся, обрабатываются, передаются в двоичном коде.
Двоичный код — это строка символов, состоящих из \(0\) и \(1\).
Как и каждый язык (формальный или естественный), двоичный код имеет свой алфавит и мощность алфавита.
Алфавит, который состоит из двух символов, называется двоичным алфавитом.
Мощность алфавита — это количество символов, которые в него входят.
Запись информации с помощью двоичного алфавита называют двоичным кодированием.
Почему именно \(0\) и \(1\)? Потому что в технике проще всего реализовать такие наборы цифр: если есть сигнал, то это \(1\), если нет — это \(0\). (Более развёрнутый ответ на этот вопрос можно найти в статье).
 
Существуют ряд устройств, работающих по принципу двоичного кодирования. Например, обычный выключатель, где свет горит/не горит.
Всем известная азбука Морзе тоже состоит из двух знаков: точки и тире.
 
азбука.jpg
Рис. 1. Алфавит азбуки Морзе
 
Память компьютера можно представить в виде листочка в клетку, и в каждой клетке хранится либо \(1\), либо \(0\).
 
лист.jpg
Рис. \(2\). Представление битов памяти
 
Что же происходит, когда мы нажимаем на клавиатуре цифру, например \(5\)?
Каждая клавиша имеет свой порядковый номер (по кодировочной таблице), и именно он переводится в двоичный код.
 
двоичный код.jpg
Рис. \(4\). Схема двоичного кодирования
 
Как узнать, сколько бит (клеточек) в памяти компьютера необходимо для кодирования различных знаков?
  
Как кодируются числа при помощи двоичного кодирования?
 
Пусть нам нужно закодировать две цифры — \(0\) и \(1\). Для кодирования этих цифр нужно \(2\) ячейки памяти, в одну напишем \(0\), а в другую — \(1\).
А если цифр больше? Сколько битов нужно для кодирования каждой цифры? Рассмотрим, как закодировать \(4\) цифры.
Если будем использовать однозначные числа, то хватит только для кодирования \(2\) цифр, а нам нужно больше. Попробуем сделать коды двузначными:
\(0\) — \(00\),
\(1\) — \(01\),
\(2\) — \(10\),
\(3\) — \(11\).
 
Цепочка из двух символов достаточна для кодирования \(4\) знаков, а если нужно закодировать \(8\) знаков? Попробуем увеличить длину цепочки:
\(0\) — \(000\), 
\(1\) — \(001\),
\(2\) — \(010\),
\(3\) — \(011\),
\(4\) — \(100\),
\(5\) — \(101\),
\(6\) — \(110\),
\(7\) — \(111\).
 
Получается, если цифр будет \(16\), то длина цепочки будет \(4\)?
Длина цепочки знаков в двоичном коде называется разрядностью двоичного кода.
 
Рассмотри таблицу.
 
Разрядность двоичного кода
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(10\)
Количество цифр (комбинаций), которые можно закодировать
\(2\)
\(4\)
\(8\)
\(16\)
\(32\)
\(64\)
\(128\)
\(256\)
\(512\)
\(1024\)
 
Проанализировав таблицу, можно увидеть зависимость между разрядностью и количеством цифр.
Чтобы получить коды для \(2\) цифр, нужно взять цепочку из \(1\) знака, чтобы получить \(4\) цифры, нужно взять цепочку из \(2\) знаков, чтобы получить \(8\) цифр, нужно взять цепочку из \(3\) знаков и т. д.
\(2 = 2\);
\(4 = 2·2\);
\(8 = 2·2·2\);
\(16 = 2·2·2·2\);
\(32 = 2·2·2·2·2\).
Источники:
Цитата с сайта https://www.livelib.ru/quote/1343718-chto-takoe-matematika-kurant-r-robbins-g (Дата обращения: 14.11.2021.)
Рис. 1. Портрет Г. В.Лейбница By Christoph Bernhard Francke - Herzog Anton Ulrich-Museum Braunschweig, Public Domain, https://commons.wikimedia.org/w/index.php?curid=57268659 (Дата обращения: 14.11.2021.)
Рис. 2. Алфавит азбуки Морзе. © ЯКласс.
Рис. 3. Представление битов памяти. © ЯКласс.
Рис. 4. Схема двоичного кодирования. © ЯКласс.