> unary | räknesträck | enkelt <
// Unärkodning, det enklaste sättet att representera heltal med räknesträck
Enklaste koden
Den mest grundläggande kodningen, bara att räkna med streck.
Visuell representation
Tydlig visualisering av unärkod som räknesträck.
Flera varianter
Standard, inverterade och trunkerade unärkoder.
>> teknisk information
Hur unärkodning fungerar:
Unärkodning representerar ett heltal n som n identiska symboler följda av en terminator. Standardunär använder n ettor följda av en nolla. Inverterad unär använder n nollor följda av en etta. Trunkerad unär utelämnar terminatorn för det största värdet i ett känt intervall.
Unary-varianter:
Standardunär: 0 → 0 1 → 10 3 → 1110 5 → 111110 Inverterad unär: 0 → 1 1 → 01 3 → 0001 5 → 000001 Trunkerad intervall 0–3: 0 → tom 1 → 1 2 → 11 3 → 111
Varför använda unärkodning:
- >Byggsten i andra koder
- >Kvotdel i Golomb och Rice-koder
- >Prefixdel i Elias-koder
- >Mycket enkel att implementera
- >Bra för undervisning i komprimering
>> vanliga frågor
Vad är unärkodning?
Unärkodning är den enklaste koden med variabel längd. Ett heltal n representeras som n upprepningar av en symbol oftast 1 följt av en annan symbol oftast 0 som terminator. Det liknar räknesträck i binär form.
När är unärkodning effektiv?
Unärkodning är bara effektiv för mycket små heltal eller starkt snedfördelade data där de flesta värden är 0 eller 1. Den använder n plus 1 bitar för talet n och är därför mycket ineffektiv för stora värden. Den används främst som komponent i andra koder.
Vad är trunkerad unärkodning?
Trunkerad unärkodning används när värdeintervallet är känt. Det största värdet behöver ingen terminator eftersom längden ensam identifierar det entydigt. På så sätt sparas en bit för maxvärdet i intervallet.
Var används unärkodning?
Unärkodning används sällan ensam men är en viktig del av Golomb och Rice-koder för kvoter, Elias Gamma och Delta-koder för längder och många andra koder med variabel längd. Den är ett grundläggande begrepp i många komprimeringsalgoritmer.