> comma | self | delimit <
// Comma-kode – selvavgrensende binære koder med automatiske grenser
Selvavgrensende
Ingen skilletegn trengs mellom etterfølgende koder.
Enkel struktur
Unært lengdeforløp etterfulgt av databiter.
Mønsterunngåelse
Tabu-varianten unngår bestemte bitmønstre ved behov.
>> teknisk informasjon
Hvordan Comma-kode fungerer:
Comma-koden koder et heltall n slik: 1) skriver bitlengden L-1 i unær form (L-1 ettall etterfulgt av en null), 2) legger til den binære representasjonen uten den første 1. Tabu-varianten endrer kodingen for å unngå mønstre som 11, noe som er nyttig i enkelte kommunikasjonskanaler.
Eksempler på Comma-kode:
Basic Comma Code: 0 → 0 (special case) 1 → 01 (0 ones + 0 + empty) 2 → 100 (1 one + 0 + '0') 3 → 101 (1 one + 0 + '1') 4 → 11000 (2 ones + 0 + '00') 5 → 11001 (2 ones + 0 + '01') Concatenated: 1,2,3 → 01 100 101 → 01100101 Self-delimiting - can decode without separators Taboo variant avoids '11' pattern: Uses different encoding to prevent consecutive 1s
Hvorfor bruke Comma-kode:
- ▸Selvavgrensende egenskaper
- ▸Ingen behov for ekstra skilletegn
- ▸Enkel å implementere
- ▸Mulighet til å unngå bestemte mønstre
- ▸Prefiksfrie koder
>> ofte stilte spørsmål
Hva er Comma-kode?
Comma-kode er en selvavgrensende binærkode som koder heltall ved hjelp av et unært lengdeforløp etterfulgt av databiter. Den kalles "Comma" fordi kodene kan lenkes sammen uten eksplisitte skilletegn, omtrent som elementer i en liste.
Hva gjør den selvavgrensende?
Det unære lengdeforløpet forteller dekoderen nøyaktig hvor mange databiter som følger. Når du ser k ettall etterfulgt av en null, vet du at du skal lese akkurat k ekstra biter. Dermed kan flere koder kobles sammen uten ekstra skilletegn.
Hva er tabu-varianten?
Tabu-varianten av Comma-kode endrer kodingen for å unngå bestemte bitmønstre (for eksempel 11). Dette er nyttig i kanaler der spesifikke mønstre skaper problemer eller har særskilt betydning, som synkroniseringsmarkører.
Hvor brukes Comma-kode?
Comma-koder brukes i datakomprimering, nettverksprotokoller og lagringssystemer der selvavgrensende egenskaper er viktige. De er spesielt nyttige når flere heltall med variabel lengde skal lagres uten egne lengdefelt.