Código unario

Código unario

La codificación unaria es una codificación entrópica que representa a un número natural n, como un string de n unos. Por ejemplo, 5 se representa en código unario como 11111. Algunas representaciones utilizan un cero para reemplazar el último uno, de manera de evitar perder ambigüedad al momento de concatenar dos números codificados en unario.

n 1 2 3 4 5 6 7 8 9
codificación 1 11 111 1111 11111 111111 1111111 11111111 111111111

Sea n = 1,2,3,..., la codificación unaria es eficiente y óptima para la siguiente distribución de probabilidad discreta:

\operatorname{P}(n) = 2^{-n}\,

En codificación símbolo-a-símbolo, es óptima para cualquier distribución geométrica del tipo:

\operatorname{P}(n) = (k-1)k^{-n}\,

donde k ≥ φ = 1.61803398879…, el número áureo; o más generalmente, para cualquier distribución discreta donde:

\operatorname{P}(n) \ge \operatorname{P}(n+1) + \operatorname{P}(n+2)\,

La codificación aritmética tiene mejor capacidad de compresión para las dos distribuciones mencionadas arriba, porque no consideran símbolos de input independientes, sino grupos de input implícitos.

Usos prácticos

Una codificación unaria modificada se utiliza en la norma UTF-8. Los códigos unarios se usan también en esquemas split-index como la codificación Golomb-Rice. La codificación unaria es un código prefijo, y puede ser decodificada unívocamente.

Véase también

Referencias

  • Khalid Sayood, Data Compression, 3a edición, Morgan Kaufmann.
  • Profesor K.R Rao, EE5359:Principles of Digital Video Coding.

Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Sistema de numeración unario — Diferentes representaciones del número 8 en unario. El sistema de numeración unario es un sistema de numeración biyectivo de base 1. Es el sistema de numeración mas simple que existe para representar los números naturales. Para representar un… …   Wikipedia Español

  • C++ — Desarrollador(es) Bjarne Stroustrup, Bell Labs Información general …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”