Binary Coded Decimal

Aus C64-Wiki
Wechseln zu: Navigation, Suche

BCD (Binary Coded Decimal) ist eine Kodierung, bei der Dezimalziffern in einem Nibble eines Bytes dargestellt werden. Damit fasst z.B. ein Byte genau zwei Dezimalstellen, womit ein Wertebereich von 00 bis 99 abgebildet werden kann. Diese Form der Kodierung dient der exakten Darstellung von Dezimalzahlen (üblicherweise als Fixkommazahlen) und deren Berechnung, wo ein exaktes Runden von Werten ausschlaggebend ist, etwa im Rechnungs- und Buchhaltungswesen bzw. allgemein im kaufmännischen Bereich. Die übliche binäre Kodierung (häufig als Fließkommazahl) weist systematische Schwächen auf, speziell bei der exakten Darstellung von Nachkommastellen und beim Rechnen in dieser Darstellung, was schließlich zu mehr oder weniger deutlichen und auch nicht vorhersehbaren Rundungsfehlern führen kann.

Die C64-CPU bzw. die 6502-Prozessorfamilie verfügt über einen speziellen Decimal Mode, in dem Additionen und Subtraktionen entsprechend dieser Kodierung durchgeführt werden. Aktiviert wird der Decimal Mode durch das Decimal-Flag im Statusregister. Siehe entsprechende Assembler-Befehle.

Referenzen[Bearbeiten]

WP-W11.png Wikipedia: BCD
WP-W11.png Wikipedia: BCD Sprache:english