Как найти мощность алфавита, если сообщение из 200 символов весит 125 байт
Условие
Сообщение записано в алфавите с неизвестным числом символов; все символы кодируются одинаковым количеством бит. Сообщение состоит из 200 символов и занимает в памяти 125 байт. Определите мощность алфавита, то есть сколько различных символов в нём может быть.
Ответ
32 символа (вес одного символа — 5 бит)
Решение по шагам
Шаг 1. Вспоминаем связь мощности алфавита и веса символа
Мощность алфавита — это количество разных символов, которые в нём есть. Информационный вес одного символа — количество бит, которым его кодируют. Они связаны формулой:
Смысл простой: двоичных разрядов дают различных комбинаций нулей и единиц, и каждой комбинации можно назначить свой символ.
Шаг 2. Переводим объём сообщения в биты
Вес символа измеряется в битах, поэтому объём тоже нужно перевести в биты:
Если этот шаг пропустить и делить байты на символы, получится дробное «0,625 байта на символ» — величина верная, но с ней неудобно работать и легко ошибиться.
Осталось ещё 3 шага — откроются после входа:
- Шаг 3. Находим вес одного символа
- Шаг 4. Возводим двойку в найденную степень
- Шаг 5. Проверяем подстановкой
Бесплатно · займёт минуту
Частые ошибки
- ✗
Отвечают «5» — это вес одного символа в битах, а не мощность алфавита.
- ✗
Считают мощность как или вместо .
- ✗
Делят 125 байт на 200 символов, не переведя байты в биты, и теряют смысл величины.