Унарное кодирование
Уна́рное коди́рование — это энтропийное кодирование, которое представляет число 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.