enkoder | dekoder | visualiserer

> unary | tellemerker | enkelt <

// Unary-koding, den enkleste måten å representere heltall med tellemerker

[SIMPLE]

Enkleste kode

Den mest grunnleggende koden, du bare teller med streker.

[VISUAL]

Visuell representasjon

Tydelig visualisering basert på tellemerker.

[VARIANTS]

Flere varianter

Standard, invertert og trunkert unary-koding.

>> teknisk informasjon

Hvordan unary-koding fungerer:

Unary-koding representerer et heltall n som n identiske symboler etterfulgt av et termineringssymbol. Standard unary bruker n enere fulgt av en null. Invertert unary bruker n nuller fulgt av en ener. Trunkert unary utelater terminatoren for den siste verdien i et kjent intervall.

Unary-varianter:

Standard unary: 0 → 0 1 → 10 3 → 1110 5 → 111110 Invertert unary: 0 → 1 1 → 01 3 → 0001 5 → 000001 Trunkert intervall 0–3: 0 → tom 1 → 1 2 → 11 3 → 111

Hvorfor bruke unary-koding:

  • >Byggestein i andre koder
  • >Kvotientdel i Golomb og Rice-koder
  • >Prefiks i Elias-koder
  • >Svært enkel å implementere
  • >Nyttig for undervisning i komprimering

>> ofte stilte spørsmål

Hva er unary-koding?

Unary-koding er den enkleste variabel-lengde-koden. Et heltall n representeres som n repetisjoner av ett symbol vanligvis 1 etterfulgt av et annet symbol vanligvis 0 som terminerer koden. Det ligner tellemerker i binær form.

Når er unary-koding effektiv?

Unary er bare effektiv for svært små heltall eller for skjeve fordelinger der de fleste verdier er 0 eller 1. Koden bruker n pluss 1 biter for tallet n og er derfor svært ineffektiv for store verdier. Den brukes hovedsakelig som komponent i andre koder.

Hva er trunkert unary?

Trunkert unary brukes når verdiområdet er kjent. Maksimalverdien trenger ingen terminator fordi lengden alene identifiserer den entydig. Dermed spares én bit for den største verdien i området.

Hvor brukes unary-koding?

Unary-koding brukes sjelden alene, men er en nøkkelkomponent i Golomb og Rice-koder for kvotienter, i Elias Gamma og Delta for lengder og i mange andre variabel-lengde-koder. Den er grunnleggende for mange komprimeringsalgoritmer.

Andre språk