Равномерный код
Равномерный код — это код, в котором каждому символу алфавита соответствует одинаковое число разрядов. Поэтому длина любой кодовой комбинации в таком коде одинакова.
Как определить длину равномерного кода
Если алфавит содержит \(N\) различных символов, а для записи одного символа используется \(k\) двоичных разрядов, то количество возможных кодовых комбинаций равно \(2^k\). Чтобы закодировать все символы, комбинаций должно хватать:
Минимальное подходящее значение \(k\) находят перебором или выбирают как \(\lceil\log_2 N\rceil\). Например, для алфавита из 5 символов двух разрядов недостаточно: \(2^2=4\). Трёх разрядов достаточно: \(2^3=8\). Значит, каждый символ можно представить тремя двоичными разрядами, а три комбинации останутся неиспользованными.
Пусть символы A, B, C и D кодируются так: A — 00, B — 01, C — 10, D — 11. Все кодовые слова имеют длину 2, поэтому это равномерный код. Если записать слово «ABCD», получится последовательность 00011011 длиной 8 разрядов.
Двоичное кодирование означает использование двух знаков, обычно 0 и 1, но не обязательно одинаковую длину кодовых слов. Равномерный двоичный код одновременно является двоичным и имеет фиксированную длину. Неравномерный код может использовать 0 и 1, но его кодовые слова имеют разную длину.
Алфавит содержит 7 символов. Какое минимальное число двоичных разрядов нужно для равномерного кодирования одного символа?
Главное свойство
В равномерном коде длина сообщения из \(m\) символов вычисляется умножением: если один символ занимает \(k\) разрядов, всё сообщение занимает \(m\cdot k\) разрядов. Это удобно для хранения и подсчётов: границы символов определяются однозначно без специальных разделителей. Код фиксированной длины — близкое название того же свойства: длина кодовых слов не меняется от символа к символу.
Кратко
- В равномерном коде все символы имеют кодовые слова одинаковой длины.
- Для двоичного алфавита длину \(k\) выбирают из условия \(2^k\ge N\).
- Сообщение из \(m\) символов при длине кода \(k\) содержит \(m\cdot k\) разрядов.