Унарное кодирование: различия между версиями
w>Loveless м (робот добавил: ja:アルファ符号) |
In.wiki (комментарии | вклад) м (24 версии импортировано: Импорт из Википедии) |
||
(не показано 16 промежуточных версий 13 участников) | |||
Строка 1: | Строка 1: | ||
− | '''Уна́рное коди́рование''' — это [[энтропийное кодирование]], которое представляет число ''n'' в виде ''n'' единиц с замыкающим нулём (либо n нулей и единица). Например 5 представляется в виде 111110. | + | '''Уна́рное коди́рование''' — это [[энтропийное кодирование]], которое представляет число ''n'' в виде ''n'' единиц с замыкающим нулём (либо n нулей и единица). Например 5 представляется в виде 111110 (если кодируются только положительные числа без нуля, то представление может быть на один бит короче, например, 000001 может записывать число 6). |
Унарное кодирование оптимально для [[распределение вероятности|распределения вероятности]]: | Унарное кодирование оптимально для [[распределение вероятности|распределения вероятности]]: | ||
Строка 6: | Строка 6: | ||
Часто используется при программировании [[Машина Тьюринга|машин Тьюринга]]. | Часто используется при программировании [[Машина Тьюринга|машин Тьюринга]]. | ||
− | + | Входит в семейство [[Коды Голомба|кодов Голомба]]. | |
+ | |||
+ | {| border="1" | ||
+ | !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. | ||
+ | |||
+ | == См. также == | ||
+ | * [[Унарная система счисления]] | ||
[[Категория:Алгоритмы сжатия без потерь]] | [[Категория:Алгоритмы сжатия без потерь]] | ||
− | |||
− | |||
− |
Текущая версия от 00:51, 20 августа 2025
Уна́рное коди́рование — это энтропийное кодирование, которое представляет число 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.