Inden for telekommunikation er en to af fem-kode en m af n-kode som giver nøjagtig ti mulige kombinationer, og den er derfor en populær løsning når man vil repræsentere decimale cifre ved hjælp af fem bit. Der findes flere måder at tildele vægte til de enkelte bit på, sådan at summen af de satte bit giver den ønskede værdi, dog med særbehandling af cifferet 0.

Stregkode med to af fem-kode

I henhold til den amerikanske standard 1037C kræves følgende:

  1. hvert decimale ciffer repræsenteres af et binært tal på fem bit, hvoraf to bit er af den ene slags ("en"), og tre bit er af den anden slags ("nul"), og
  2. de vægte der tildeles bittene, er som regel 0-1-2-3-6, hvor tallet nul dog indkodes som binært 01100; strengt taget er vægtene 0-1-2-3-6 bare en huskeregel.

Vægtene giver en entydig kodning af otte af cifrene, men der er to mulige måder at kode 3 på: 0+3 eller 10010 og 1+2 eller 01100. Den første at disse bruges til cifferet 3, mens den anden bruges til at repræsentere 0, som ellers ikke kan indkodes.

I datamaterne IBM 7070, IBM 7072 og IBM 7074 brugte man en to af fem-kode til at repræsentere decimale cifre i et maskinord. Bittene blev nummereret som 0-1-2-3-4, men indkodningen svarede til vægtene 0-1-2-3-6. Hvert maskinord havde desuden et fortegnsflag, som brugte en to ud af tre-kode, med værdierne A (for alfanumerisk), - minus eller + plus. Disse tre bit kunne kopieres ind i et ciffer i positionerne 0-3-4.

USA's postvæsen bruger en stregkode til at repræsentere 9-cifrede postnumre, som kan læses af sorteringsmaskiner. Her betyder høje streger "en" og lave streger "nul". Bittene bruger vægtene 7-4-2-1-0, og cifferet 0 kodes særskilt ved hjælp af 7+4-kombinationen (11000), som ellers ville give det meningsløse ciffer 11. Denne indkodning brugtes også tidligere i nordamerikansk telefoni.[1]

Tabellen nedenfor viser hvordan de decimale cifre fra 0 til 9 repræsenteres i forskellige to af fem-koder:

Ciffer Telekommunikation
01236
IBM 7070, 7072, 7074
01234
USA's postvæsen
74210
0 01100 01100 11000
1 11000 11000 00011
2 10100 10100 00101
3 10010 10010 00110
4 01010 01010 01001
5 00110 00110 01010
6 10001 10001 01100
7 01001 01001 10001
8 00101 00101 10010
9 00011 00011 10100
A - 1––10 -
- 1––01 -
+ - 0––11 -

Kilde redigér