To-av-fem-koder - Two-out-of-five code
En to-av-fem-kode er en kode med konstant vekt som gir nøyaktig ti mulige kombinasjoner av to biter, og brukes dermed til å representere desimaltallene ved hjelp av fem biter . Hver bit tildeles en vekt, slik at de innstilte bitene summerer til ønsket verdi, med unntak for null.
I henhold til Federal Standard 1037C :
- hver desimal sifret representeres av en binær tall som består av fem biter, hvorav to er av en type som kalles de , og tre er av den andre typen, kalt nuller , og
- de vanlige vektene som er tildelt bitposisjonene er 0-1-2-3-6. Imidlertid er null kodet som binær 01100 i denne ordningen ; strengt tatt er 0-1-2-3-6 som tidligere er hevdet bare en mnemonisk enhet.
Vektene gir en unik koding for de fleste sifre, men tillater to kodinger for 3: 0 + 3 eller 10010 og 1 + 2 eller 01100. Førstnevnte brukes til å kode sifferet 3, og sistnevnte brukes til å representere det ellers ikke-representable null .
The IBM 7070 , IBM 7072 , og IBM 7074 datamaskin brukes til dette for å representere hver av de ti desimalsifre i en maskin ord, selv om de nummererte bitposisjonene 0-1-2-3-4, snarere enn med vekter. Hvert ord hadde også et tegnflagg, kodet med en to-ut-av-tre-kode, som kunne være A Alfanumerisk, - Minus eller + Plus. Når de ble kopiert til et siffer, ble de tre bitene plassert i bitposisjonene 0-3-4. (Dermed produserer de numeriske verdiene henholdsvis 3, 6 og 9.)
En variant er United States Postal Service POSTNET- strekkode , som brukes til å representere postnummeret for automatisk sortering og ruting av post. Dette bruker to høye søyler som en og tre korte søyler som nuller. Her er vektene som er tildelt bitposisjonene 7-4-2-1-0. Igjen er null kodet spesielt, ved hjelp av 7 + 4-kombinasjonen (binær 11000) som naturlig ville kode 11. Denne metoden ble også brukt i nordamerikanske telefon -multifrekvens- og tverrstengesystemer .
USPS Postal Alpha Numeric Encoding Technique (PLANET) bruker de samme vektene, men med motsatt stanghøydekonvensjon.
De Code 39 strekkode bruker vekter 1-2-4-7-0 (dvs LSB først, paritetsbit siste) for bredder på tverrstengene, men det koder også to biter av ekstra informasjon i avstanden mellom stolpene. The || ||| avstand brukes for sifre.
Følgende tabell representerer desimaltegn fra 0 til 9 i forskjellige to-av-fem-kodesystemer:
Grensen på antall bitsett er lik, men strengt sterkere enn, en paritetskontroll . Alle koder med konstant vekt , inkludert koden to-av-fem, kan ikke bare oppdage noen enkeltbitfeil, men oppdage også enveis-feil - uansett hvor alle feil i et kodeord er av en enkelt type (0 → 1 eller 1 → 0).