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

См. также

править