Унарное кодирование
Уна́рное коди́рование — это энтропийное кодирование, которое представляет число n в виде n единиц с замыкающим нулём (либо n нулей и единица). Например 5 представляется в виде 111110 (если кодируются только положительные числа без нуля, то представление может быть на один бит короче, например, 000001 может записывать число 6).
Унарное кодирование оптимально для распределения вероятности:
Часто используется при программировании машин Тьюринга. Входит в семейство кодов Голомба.
| n (неотрицательные) | n (строго положительные) | Унарный код | Инверсный унарный код |
|---|---|---|---|
| 0 | 1 | 0 | 1 |
| 1 | 2 | 10 | 01 |
| 2 | 3 | 110 | 001 |
| 3 | 4 | 1110 | 0001 |
| 4 | 5 | 11110 | 00001 |
| 5 | 6 | 111110 | 000001 |
| 6 | 7 | 1111110 | 0000001 |
| 7 | 8 | 11111110 | 00000001 |
| 8 | 9 | 111111110 | 000000001 |
| 9 | 10 | 1111111110 | 0000000001 |
ЛитератураПравить
- Khalid Sayood, Data Compression, 3-е издание, Morgan Kaufmann.