BCD-code
Een BCD-code (Engels: afkorting voor binary-coded decimal) is een binaire code om decimale getallen op te slaan. Elk cijfer van het getal wordt gecodeerd door een groep van vier bits die een binaire representatie zijn van het betrokken cijfer. Een gevolg hiervan is dat de hexadecimale weergave van een getal in BCD-code er hetzelfde uitziet als de decimale variant.
Vroeger werd BCD-codering veel gebruikt om de elektronica te vereenvoudigen, met name bij de weergave van cijfers door pixie- en nixiebuizen en hun opvolgers de zevensegmentendisplays. Daarnaast maakt de taal COBOL veel gebruik van deze code omdat het in een administratieve omgeving met (nog) niet zo snelle machines eenvoudiger was een bepaald cijfer uit een getal te "lichten" (BCD-cijfers zijn namelijk eenvoudiger om te zetten naar ASCII- of EBCDIC-cijfers dan een binair getal).
De meeste computersoftware maakt tegenwoordig gebruik van andere coderingen en de waarden voor de (decimale) weergave van getallen worden meestal rechtstreeks vanuit deze coderingen berekend.
Vorming van BCD-code[bewerken | brontekst bewerken]
Om een decimaal getal om te zetten in BCD-code wordt elk afzonderlijk cijfer omgezet in een 4 bits-notatie. Zie het plaatje rechts.
Voorbeeld: het decimale getal 167 wordt gesplitst in 1-6-7. Elk cijfer wordt omgezet naar zijn binaire waarde:
- 1 = 0001
- 6 = 0110
- 7 = 0111
De BCD-code van 167 is dus 0001 0110 0111.[1] Op dezelfde manier wordt decimaal 1457 in BCD-code 0001 0100 0101 0111 en 16854 wordt 0001 0110 1000 0101 0100.
Alternatieven[bewerken | brontekst bewerken]
Aiken-code[bewerken | brontekst bewerken]
Het gebruik van BCD-code is niet efficiënt in geheugengebruik (van de 16 verschillende combinaties die met 4 bits te vormen zijn worden er slechts 10 gebruikt) of als er veel mee gerekend moet worden. Een variant op BCD-code is de Aiken-code.
Stibitz-code[bewerken | brontekst bewerken]
Een andere variant is excess-3 of Stibitz-code waar bij de binaire codes 0000 t/m 1001 steeds drie (11) is opgeteld. Een van de voordelen is dat 0 (0011) en 9 (1100), 1 (0100) en 8 (1011) enz. steeds elkaars 1-complement (elk bitje omgeklapt) vormen.
Voetnoot
|