Konsepter:BCD-kode
Fra CodeWiki
BCD-Kode, kjent som Binary Coded Decimal er en kode der hvert siffer blir representert av 4 bit (se tabellen til høyre). BCD-Kode brukes for eksempel i noen kalkulatorer, voltmetre og andre instrumenttyper der visningen er i form av desimalltall. Mange prosessorer har muligheter for å regne med denne type kode. Har vi for eksempel tallet 139 og ønsker å kode detr i BCD-kode, vil tallet se slik ut: 0001 0011 1001. Vi har her kodet hvert desimalsiffer binært, og det er dette som kjennetegner BCD-kode.
Dermed har vi at hvert desimalsiffer blir representert ved 4 bit. 2634 = 0010 0110 0011 0100. Vi kjenner igjen verdiene fra binær-kode.
BCD-Koden er desverre ikke så effektiv, ettersom det er en del binækodekombinasjoner som ikke er lovlige (se tabellen). Når de da ikke brukes, blir en del kombinasjoner overflødige, noe som gjør BCD-Koden mindre effektiv enn ordinær binærkode. I tillegg ender vi ofte opp med BCD-kode som tar mer minne enn et rent binært alternativ ville brukt.
Behandling av ulovlige kombinasjoner
Regelen innenfor BCD-aritmetikk sier at vi må korrigere når vi får ulovelige siffer.
Skal vi gjennomføre addisjon med BCD-kode gjør man følgende:
Eksempel: 26+38=64. 26 = 0010 00110 (bcd), 38 = 0011 1000 (bcd). addert gir dette 0101 1110, og her har vi fått en ulovlig kombinasjon, der den første 4-bit serien gir 5, mens den andre gir 14, noe som er ikke er lov. Regelen sier at man må korrigere dette ved å addere den ulovelige verdien med 6. Får vi 0101 1110 + 0110 = 0110 0100. Dette gir 6 og 4.
Et annet problem man kan støte på er følgende: La oss si at man har 28 + 58 = 86, i BCD vil si 0010 1000 + 0101 1000 = 1000 0000. Resultat av dette er 80, ikke 86 slik det burde være. Løsningen er den samme som ovenfor, nemlig legge til 6. Da får vi 1000 0110, altså 86!
