Измерение информации: биты, байты и алфавитный подход

Учимся измерять информацию: что такое бит и байт, как работает алфавитный подход и как посчитать объём текста.

Бит — наименьшая единица информации: ответ на один вопрос «да или нет», 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 (бит)
21
42
83
164
2568

Алфавитный подход

Теперь применим идею к тексту. Пусть у нас есть алфавит из 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.
Проверьте себя
1. Сколько информации в битах несёт сообщение о том, что выпала одна из 16 равновероятных карт?
A2 бита
B4 бита
C8 бит
D16 бит
2. Чему равен 1 килобайт?
A1000 бит
B1000 байт
C1024 байта
D8 байт
3. Алфавит состоит из 32 символов. Сколько бит несёт один символ?
A4 бита
B5 бит
C6 бит
D32 бита
4. Текст из 200 символов записан алфавитом, где на символ приходится 1 байт. Сколько весит текст?
A200 бит
B200 байт
C1600 байт
D25 байт

Закрепите практикой

Задачи с автоматической проверкой — решайте прямо здесь, не уходя из учебника.

Поддержать проект