kodieren | dekodieren | visualisieren

> unary | Strichcode | einfach <

// Unary-Codierung – die einfachste Ganzzahlendarstellung mit Strichlisten

[SIMPLE]

Einfachster Code

Die grundlegendste Codierung – einfach mit Strichen zählen.

[VISUAL]

Visuelle Darstellung

Anschauliche Visualisierung der Strichlisten.

[VARIANTS]

Mehrere Varianten

Standard-, invertierte und verkürzte unäre Codes.

>> technische infos

Wie Unary-Codierung funktioniert:

Bei der Unary-Codierung wird eine ganze Zahl n durch n identische Symbole gefolgt von einem Terminator dargestellt. Standard-Unary verwendet n Einsen gefolgt von einer Null. Invertiertes Unary verwendet n Nullen gefolgt von einer Eins. Verkürztes Unary lässt für den größten Wert in einem bekannten Bereich den Terminator weg.

Unary-Varianten:

Standard-Unary: 0 → 0 1 → 10 3 → 1110 5 → 111110 Invertiertes Unary: 0 → 1 1 → 01 3 → 0001 5 → 000001 Verkürzt (Bereich 0–3): 0 → leer 1 → 1 2 → 11 3 → 111

Warum Unary-Codierung verwenden:

  • >Baustein in anderen Codes
  • >Golomb/Rice-Quotienten
  • >Präfix in Elias-Codes
  • >Einfach zu implementieren
  • >Für Lehr- und Lernzwecke

>> häufig gestellte fragen

Was ist Unary-Codierung?

Unary-Codierung ist der einfachste variabel lange Code: Eine ganze Zahl n wird als n Wiederholungen eines Symbols (typischerweise 1) dargestellt, gefolgt von einem anderen Symbol (typischerweise 0) als Terminator. Es ähnelt Strichlisten in binärer Form.

Wann ist Unary effizient?

Unary ist nur für sehr kleine Ganzzahlen oder stark schiefe Verteilungen effizient, bei denen die meisten Werte 0 oder 1 sind. Für eine Zahl n benötigt der Code n+1 Bits und ist damit für große Werte sehr ineffizient. Er wird hauptsächlich als Baustein in anderen Codes eingesetzt.

Was ist verkürztes Unary?

Verkürztes Unary wird verwendet, wenn der Wertebereich bekannt ist. Für den größten Wert wird kein Terminator benötigt, da seine Länge ihn eindeutig kennzeichnet. Dadurch wird für den Maximalwert ein Bit eingespart.

Wo wird Unary verwendet?

Unary wird selten allein verwendet, ist aber ein zentrales Element in Golomb- und Rice-Codes (für Quotienten), in Elias-Gamma/Delta-Codes (für Längen) und anderen variablen Codes. Es ist grundlegend für viele Kompressionsalgorithmen.

Weitere Sprachen