Измерение информации: биты, байты и алфавитный подход
Учимся измерять информацию: что такое бит и байт, как работает алфавитный подход и как посчитать объём текста.
Бит — наименьшая единица информации: ответ на один вопрос «да или нет», 0 или 1. Восемь бит образуют байт.
Можно ли измерить информацию?
Мы измеряем длину в метрах, массу в килограммах. А можно ли измерить информацию? Оказывается, да — и это одна из красивейших идей информатики. Чтобы её понять, сыграем в игру «угадай число».
Я загадал число от 1 до 8. Ты можешь задавать вопросы, на которые я отвечаю только «да» или «нет». Как угадать быстрее всего? Хитрый способ — каждый раз делить диапазон пополам: «Число больше 4?» Нет. «Больше 2?» Да. «Это 3?» Нет — значит, 4. Всего три вопроса, и любое из 8 чисел угадано.
Каждый ответ «да/нет» несёт ровно 1 бит информации. Получается, чтобы выбрать одно из 8 вариантов, нужно 3 бита. Это не случайность: 8 = 2 × 2 × 2 = 2³.
Главная формула
Связь между числом вариантов и количеством информации задаёт формула:
N = 2i, где N — число возможных вариантов (равновероятных), а i — количество информации в битах.
Проверим на нашей игре: вариантов N = 8, тогда 8 = 2³, значит i = 3 бита. Если бы вариантов было 16, понадобилось бы 4 бита, ведь 16 = 2⁴. А для двух вариантов (орёл или решка) — ровно 1 бит.
| Число вариантов N | Информация i (бит) |
| 2 | 1 |
| 4 | 2 |
| 8 | 3 |
| 16 | 4 |
| 256 | 8 |
Алфавитный подход
Теперь применим идею к тексту. Пусть у нас есть алфавит из N символов (букв, цифр, знаков). Каждый символ — это выбор одного варианта из N. Значит, на один символ приходится i бит, где N = 2ⁱ. Это и есть алфавитный подход к измерению информации.
А весь текст из K символов несёт K × i бит информации. Например, если алфавит из 256 символов (на каждый символ 8 бит = 1 байт), то текст из 100 символов «весит» 100 × 8 = 800 бит, или 100 байт.
Информационный вес одного символа
iзависит только от размера алфавита N, а не от того, какие именно это символы.
Содержательный и алфавитный подход — в чём разница
Может возникнуть вопрос: а почему количество информации не зависит от смысла сообщения? Ведь фраза «завтра отменили контрольную» для школьника явно «важнее» фразы «завтра обычный день». Дело в том, что в информатике есть два разных взгляда на измерение информации.
Содержательный подход смотрит на то, насколько сообщение уменьшает неопределённость для конкретного получателя, — это наша игра «угадай число». Чем больше вариантов было до сообщения, тем больше информации оно несёт. Алфавитный подход поступает проще и честнее для компьютера: он вообще не вникает в смысл, а считает информацию по числу символов и размеру алфавита. Компьютеру всё равно, что записано, — он меряет «технический объём». Именно алфавитный подход используют, когда говорят про размер файла: для машины важен объём, а не важность. Оба подхода верны, просто отвечают на немного разные вопросы. В школьных задачах чаще встречается алфавитный — его и стоит освоить как следует.
Биты, байты и приставки
Бит — слишком мелкая единица, поэтому в ход идут байты и кратные им. В информатике приставки кило-, мега-, гига- означают умножение на 1024 (это 2¹⁰), а не на 1000, потому что компьютер «мыслит» степенями двойки.
| Единица | Сколько |
| 1 байт | 8 бит |
| 1 килобайт (Кбайт) | 1024 байта |
| 1 мегабайт (Мбайт) | 1024 Кбайт |
| 1 гигабайт (Гбайт) | 1024 Мбайт |
| 1 терабайт (Тбайт) | 1024 Гбайт |
Попробуй сам
Посчитаем объём текста по алфавитному подходу и переведём в килобайты. Программа делает ровно то, что мы считали бы на бумаге.
import math
N = 256 # размер алфавита (символов)
K = 2048 # символов в тексте
i = int(math.log2(N)) # бит на один символ
ves_bit = K * i # вес текста в битах
ves_bayt = ves_bit // 8 # в байтах
ves_kbayt = ves_bayt / 1024 # в килобайтах
print("Бит на символ:", i)
print("Объём в битах:", ves_bit)
print("Объём в байтах:", ves_bayt)
print("Объём в Кбайт:", ves_kbayt)
Вывод:
Бит на символ: 8 Объём в битах: 16384 Объём в байтах: 2048 Объём в Кбайт: 2.0
Поменяй N на 32 (как раз хватает на русские буквы) — увидишь, что на символ нужно уже 5 бит, и весь текст «полегчает». Это показывает: чем меньше алфавит, тем меньше информации в каждом символе.
Разбор типовой задачи
Чтобы закрепить, решим задачу в формате, который встречается на ОГЭ. «Алфавит племени Мумбо-Юмбо состоит из 16 символов. Сколько байт занимает сообщение из 64 символов?»
Действуем по шагам. Шаг 1: найдём вес одного символа. По формуле N = 2ⁱ при N = 16 получаем 16 = 2⁴, то есть i = 4 бита на символ. Шаг 2: весь текст из 64 символов несёт 64 × 4 = 256 бит. Шаг 3: переводим в байты, деля на 8: 256 ÷ 8 = 32 байта. Ответ: 32 байта.
Обрати внимание на порядок: сначала вес символа, потом весь текст в битах, и только в конце перевод в байты. Если перепутать шаги или забыть про деление на 8, ответ получится неверным. Прорешай эту задачу сам с другими числами — например, для алфавита из 64 символов, — и сверься, подставив значения в код выше.
Зачем это нужно в жизни
Может показаться, что биты и байты — это абстракция «для экзамена». На деле ты сталкиваешься с ними постоянно. Когда выбираешь телефон, смотришь на память: «128 гигабайт» — теперь ты знаешь, что это примерно 128 миллиардов байт, и можешь прикинуть, сколько туда влезет фотографий. Когда скачиваешь игру «весом 40 ГБ» по интернету со скоростью «100 мегабит в секунду», понимаешь, почему важно не путать биты и байты: скорость в битах, а размер в байтах, и чтобы оценить время скачивания, надо учесть множитель 8. Когда оператор связи предлагает тариф «безлимит после 30 ГБ», ты понимаешь, о каком объёме речь. Умение оценивать объёмы информации — это практическая грамотность цифрового человека, как умение прикинуть в магазине, хватит ли денег. И всё это вырастает из простой идеи бита, с которой мы начали.
Частые ошибки
- Считать, что 1 Кбайт = 1000 байт. В информатике 1 Кбайт = 1024 байта (это 2¹⁰).
- Путать биты и байты. Байт в 8 раз больше бита. Скорость интернета часто меряют в мегабитах, а размер файла — в мегабайтах.
- Забывать перевести единицы. Чтобы из бит получить байты, делим на 8; чтобы из байт в Кбайт — делим на 1024.
Запомни
- Бит — это ответ «да/нет»; 8 бит = 1 байт.
- Формула
N = 2ⁱсвязывает число вариантов N и количество информации i в битах. - Алфавитный подход: вес символа i зависит от размера алфавита, вес текста = K × i.
- Приставки кило-, мега-, гига- в информатике означают умножение на 1024.
Закрепите практикой
Задачи с автоматической проверкой — решайте прямо здесь, не уходя из учебника.