Теория:

Сегодня каждый из нас не представляет жизнь без компьютера. Компьютер — это устройство, которое может работать с разными видами данных (текстовые, графические, звуковые). Чтобы эти данные компьютер мог сохранить, обработать, передать они должны быть представлены в цифровом виде. Данные в компьютере хранятся, обрабатываются, передаются в двоичном коде.
Двоичный код — это строка символов, состоящих из \(0\) и \(1\).
Как у каждого языка (формального или естественного), двоичный код имеет свой алфавит и мощность алфавита.
Алфавит, в котором два символа, называется двоичным алфавитом.
Мощность алфавита — это количество символов, которые в него входят.
Запись информации, с помощью двоичного алфавита, называют двоичным кодированием.
Почему именно \(0\) и \(1\)? Потому что в технике проще всего реализовать такие наборы цифр: если есть сигнал, то это \(1\), если нет — это \(0\).
Двоичная система кодирования появилась не с созданием компьютера, еще задолго до этого математик Г.В. Лейбниц использовал двоичные числа.
 
Лейбниц.jpg
Рис. \(1\). Портрет Г.В. Лейбница
В своей бинарной (двоичной)  арифметике Лейбниц видел прообраз творения. Ему представлялось, что единица представляет божественное начало, а нуль — небытие, и что Высшее Существо создает все сущее из небытия точно таким же образом, как единица и нуль в его системе выражают все числа.
Существуют ряд устройств, работающих по принципу двоичного кодирования. Например, обычный выключатель, где свет (горит/не горит).
Всем известная азбука Морзе тоже состоит из двух знаков: точки и тире.
 
азбука.jpg
Рис. \(2\). Алфавит азбуки Морзе
 
Память компьютера можно представить в виде листочка в клетку и в каждой клетке хранятся либо \(1\), либо \(0\).
 
лист.jpg
Рис. \(3\). Представление битов памяти
 
Что же происходит, когда мы нажимаем на клавиатуре цифру, например, «\(5\)»?
Каждая клавиша имеет свой порядковый номер (по кодировочной таблице) и именно он переводится в двоичный код.
 
двоичный код.jpg
Рис. \(4\). Схема двоичного кодирования
 
Как узнать какой сколько бит (клеточек) в памяти компьютера необходимо для кодирования различных знаков?
  
Как кодируются числа при помощи двоичного кодирования?
Пусть нам нужно закодировать две цифры — \(0\) и \(1\). Для кодирования этих цифр мне нужно \(2\) ячейки памяти, в одну напишем \(0\), а в другую \(1\).
А если цифр больше? Сколько битов нужно для кодирования каждой цифры? Рассмотрим как закодировать \(4\) цифры.
Если будем использовать однозначные числа, то хватит только для кодирования двух цифр, а нам нужно больше. Попробуем сделать коды двузначными.
\(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\)
 
Проанализировав таблицу можно увидеть зависимость между разрядностью и количеством цифр.
Чтобы получить коды для двух цифр нужно взять цепочку из \(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\)
 
Из математики, ты знаешь, что степень показывает количество множителей числа на само себя.
Если обозначить количество цифр (комбинаций) через \(N\), а степень через \(i\).
Получим формулу: N=2i.
 
Задача \(1\). Определить, сколько нужно знаков для кодирования \(11\) цифр?
Решение: посмотри в таблицу.
Число \(8<11<16\), значит цепочка из \(3\) символов нам не подходит, а вот цепочки из \(4\) символов нам достаточно.
Проверим:
\(0\) — \(0000\), \(1\) — \(0001\), \(2\) — \(0010\), \(3\) — \(0011\), \(4\) — \(0100\), \(5\) — \(0101\), \(6\) — \(0110\), \(7\) — \(0111\), \(8\) — \(1000\), \(9\) — \(1001\), \(10\) — \(1010\), \(11\) — \(1011\).
 
Задача \(2\). Определи, сколько можно составить различных последовательностей, если длина цепочки \(6\) символов?
Решение: для решения воспользуемся таблицей.
Если длина цепочки (разрядность двоичного кода) равна \(6\), следовательно, можно закодировать \(64\) различных последовательности.
Источники:
Цитата с сайта 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. Схема двоичного кодирования. © ЯКласс.