Определение
Равномерный код — это набор кодов (например, двоичных кодов букв), в котором все коды имеют одинаковую длину: у каждой буквы, скажем, ровно три двоичные цифры. Сообщение записывают сплошной строкой без разделителей, а читают, разрезая её на куски этой длины начиная с первой цифры.
Ключевые признаки
- Одна длина у всех — если у одной буквы код из 3 цифр, то и у всех остальных ровно 3; набор А — 00, Б — 01, В — 1 уже не равномерный
- Чтение без подбора — строку делят на равные куски от начала и каждый кусок ищут в таблице; набирать цифры по одной и сверяться после каждой не нужно
- Длина по числу символов — для K разных символов берут наименьшую длину N, при которой 2ᴺ ≥ K: для 5 букв нужно 3 бита, и тех же 3 бит хватит на 8 букв
- Объём считается умножением — K символов по N бит занимают K · N бит; кодировки текста, где каждый символ занимает 8 или 16 бит, устроены как равномерный код
Пример
Нужно закодировать 5 букв: А, Б, В, Г, Д. Двух бит мало (2² = 4), трёх хватает (2³ = 8), поэтому коды трёхбитные: А — 000, Б — 001, В — 010, Г — 011, Д — 100. Строку 011000100001 режем по три цифры: 011, 000, 100, 001 — получается ГАДБ. Длина строки 12 делится на 3, как и должно быть у четырёх трёхбитных кодов.
Тема целиком: Кодирование информации — теория, разобранные задания и тренажёр.
Не путай: Равномерный код и префиксный код
В равномерном коде границы кодов известны заранее — через каждые N цифр. Префиксный код допускает коды разной длины, лишь бы ни один не был началом другого, и границы находят при чтении. Равномерный код из разных кодов всегда префиксный: все коды одной длины, а началом кода той же длины код может быть, только совпадая с ним. Обратное неверно: коды 0, 10 и 11 префиксные, но не равномерные.
Частые вопросы
Что такое равномерный код простыми словами (для 7–9 класса)?
Равномерный код — это набор кодов (например, двоичных кодов букв), в котором все коды имеют одинаковую длину: у каждой буквы, скажем, ровно три двоичные цифры. Сообщение записывают сплошной строкой без разделителей, а читают, разрезая её на куски этой длины начиная с первой цифры.
Как равномерный код выглядит на практике?
Нужно закодировать 5 букв: А, Б, В, Г, Д. Двух бит мало (2² = 4), трёх хватает (2³ = 8), поэтому коды трёхбитные: А — 000, Б — 001, В — 010, Г — 011, Д — 100. Строку 011000100001 режем по три цифры: 011, 000, 100, 001 — получается ГАДБ. Длина строки 12 делится на 3, как и должно быть у четырёх трёхбитных кодов.
В каких заданиях ОГЭ встречается «равномерный код»?
В заданиях на знание понятий информатики — потренируйся в тренажёре Совелия.