> unary | turfstreepjes | simpel <
// Unaire codering, de simpelste manier om gehele getallen met turfstreepjes te representeren
Simpelste code
De meest basale codering, gewoon tellen met streepjes.
Visuele representatie
Duidelijke visualisatie met turfstreepjes.
Meerdere varianten
Standaard, omgekeerde en afgekorte unair codes.
>> technische info
Hoe unair codering werkt:
Unaire codering stelt een geheel getal n voor als n identieke symbolen gevolgd door een terminator. Standaard unair gebruikt n enen gevolgd door een nul. Omgekeerd unair gebruikt n nullen gevolgd door een één. Afgekort unair laat voor de laatste waarde in een bekend bereik de terminator weg.
Unary varianten:
Standaard unair: 0 → 0 1 → 10 3 → 1110 5 → 111110 Omgekeerd unair: 0 → 1 1 → 01 3 → 0001 5 → 000001 Afgekort bereik 0–3: 0 → leeg 1 → 1 2 → 11 3 → 111
Waarom unair codering gebruiken:
- >Bouwsteen voor andere codes
- >Quotiëntdeel in Golomb en Rice codes
- >Prefix in Elias codes
- >Eenvoudig te implementeren
- >Handig voor onderwijs over compressie
>> veelgestelde vragen
Wat is unair codering?
Unaire codering is de simpelste variabele-lengte code. Een geheel getal n wordt voorgesteld als n herhalingen van één symbool meestal 1 gevolgd door een ander symbool meestal 0 als terminator. Het lijkt op turfstreepjes in binaire vorm.
Wanneer is unair efficiënt?
Unaire codering is alleen efficiënt voor zeer kleine gehele getallen of voor sterk scheve verdelingen waarbij de meeste waarden 0 of 1 zijn. Er zijn n plus 1 bits nodig om n voor te stellen, waardoor het voor grote waarden erg inefficiënt is. Het wordt vooral gebruikt als component in andere codes.
Wat is afgekort unair?
Afgekort unair wordt gebruikt wanneer het waardenbereik bekend is. De maximale waarde heeft geen terminator nodig, omdat de lengte alleen al deze waarde uniek maakt. Dit bespaart één bit voor de maximale waarde in het bereik.
Waar wordt unair codering gebruikt?
Unaire codering wordt zelden zelfstandig gebruikt, maar is een belangrijk onderdeel van Golomb en Rice codes voor quotiënten, Elias Gamma en Delta codes voor lengtes en vele andere variabele-lengte codes. Het vormt een basisconcept in veel compressie-algoritmen.