← Все вопросы

Как посчитать информационный объём текста (алфавитный подход)?

Задан 7 месяцев назад871 просмотров3 ответа
16

Дано: сообщение из 200 символов, алфавит из 32 символов. Нужно найти объём в байтах. Как это считается? Не понимаю, при чём тут размер алфавита.

3 ответа

22
✓ Принятый ответ — помог автору

Это классический алфавитный подход. Алгоритм в три шага:

  1. Найди вес одного символа в битах: i = log2(N), где N — размер алфавита. Тут N = 32, а 32 = 2^5, значит i = 5 бит на символ.
  2. Умножь на количество символов: 200 * 5 = 1000 бит.
  3. Переведи в байты: 1000 / 8 = 125 байт.

Идея в том, что чем больше алфавит, тем больше бит нужно на один символ. Размер алфавита всегда удобно представлять как степень двойки — тогда i получается целым.

Яна Белова наконец понял про log2, спасибо огромное 🙏 · 6 месяцев назад
Данил Макаров а если алфавит не степень двойки? тогда берут ближайшую большую степень и i округляют вверх · 6 месяцев назад
9

Главное — выучить степени двойки до 2^10, тогда log2 считается в уме мгновенно.

7

i = log2(N) бит на символ, дальше умножаешь на длину и делишь на 8 если нужны байты. Тут получается 125 байт.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект