Zum Inhalt springen
uencoder

Elias Gamma Code

Die Elias-Gamma-Kodierung kodiert eine positive ganze Zahl n als floor(log2(n)) führende Nullen gefolgt von ihrer Binärdarstellung; sie ist ein universeller Präfixcode, wirksam bei Gleichverteilungen.

Zweck

Liefert universelle Variablenlängenkodierung, wenn die tatsächliche Verteilung unbekannt ist, mit einer Codelänge von 2*floor(log2(n))+1.

Mechanismus

Sei k = floor(log2(n)); man gibt k Nullen aus, gefolgt von der (k+1)-Bit-Binärdarstellung von n. Zum Dekodieren zählt man die führenden Nullen, um k zu erhalten, und liest dann k+1 weitere Bits, um n wiederherzustellen.

Anwendungsfälle

  • Universelle Variablenlängen-Kodierung ganzer Zahlen
  • Lehre der Informationstheorie
  • Kompakte Darstellung kleiner Ganzzahlen

Verwandte Tools

References