Унарное кодирование: различия между версиями

w>TXiKiBoT
м (робот добавил: fr:Codage unaire)
м (24 версии импортировано: Импорт из Википедии)
 
(не показано 10 промежуточных версий 7 участников)
Строка 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.
  
 
== См. также ==
 
== См. также ==
* [[Унарная система счисления|Единичная система счисления]]
+
* [[Унарная система счисления]]
  
 
[[Категория:Алгоритмы сжатия без потерь]]
 
[[Категория:Алгоритмы сжатия без потерь]]
 
[[en:Unary coding]]
 
[[es:Código unario]]
 
[[fr:Codage unaire]]
 
[[ja:アルファ符号]]
 
[[pl:Kod unarny]]
 

Текущая версия от 00:51, 20 августа 2025

Уна́рное коди́рование — это энтропийное кодирование, которое представляет число n в виде n единиц с замыкающим нулём (либо n нулей и единица). Например 5 представляется в виде 111110 (если кодируются только положительные числа без нуля, то представление может быть на один бит короче, например, 000001 может записывать число 6).

Унарное кодирование оптимально для распределения вероятности: P ( x ) = 2 ( x + 1 ) P(x) = 2^{-(x+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.

См. такжеПравить