To af fem-kode
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.
I henhold til den amerikanske standard 1037C kræves følgende:
- 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
- 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 | - |