Унарне кодування - це ентропійне кодування, яке представляє число n у вигляді n одиниць з замикаючим нулем (або n нулів і одиниця). Наприклад 5 представляється у вигляді 111110.
Унарне кодування оптимально для розподілу ймовірності:
Часто використовується при програмуванні машин Тьюринга. Входить в сімейство кодів Голомба.[1]
Унарний код зіставляє числу і двійкову комбінацію виду 10. Запис виду 0 або 1 означає відповідно серію з m нулів або одиниць. Наприклад, унарними кодами чисел 1, 2, і 3 є послідовності unar (1) = 10, unar (2) = 110 і unar (3) = 1110 відповідно. Довжина кодового слова для числа n дорівнює ln = n +1.[2]
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
|
Примітки
Див. також