Binary Coded Decimal
Binary Coded Decimal (kurz BCD) ist ein Format zur binären Kodierung von Dezimalzahlen. Man unterscheidet zwischen gepackten und ungepackten BCD-Zahlen. Im BCD-Format werden die einzelnen Dezimalstellen einer Zahl in einem Byte bzw. in gepackter Form in einem Nibble (4 Bit) gespeichert.
Dies kann man mit der folgenden Tabelle verdeutlichen:
Dezimal | BCD gepackt | BCD ungepackt |
---|---|---|
0 | 0000 | 00000000 |
1 | 0001 | 00000001 |
2 | 0010 | 00000010 |
3 | 0011 | 00000011 |
4 | 0100 | 00000100 |
5 | 0101 | 00000101 |
6 | 0110 | 00000110 |
7 | 0111 | 00000111 |
8 | 1000 | 00001000 |
9 | 1001 | 00001001 |
Gepackte BCD Zahlen
Im gepackten BCD-Format befinden sich die Nibbles der BCD-Zahl direkt hintereinander.
Beispiel:
Dezimal : 42 Gepacktes BCD-Format: 0100 0010b (0x42)
Ungepackte BCD Zahlen
Im ungepackten BCD-Format steht jedem BCD-Nibble ein leeres Nibble voran, so dass eine Dezimalstelle in einem Byte gespeichert wird. Dies wurde zur einfacheren Handhabung gemacht, da in den Systemen, für die BCD entwickelt wurde, ein Byte die kleinste Dateneinheit war, die man direkt ansprechen konnte.
Beispiel:
Dezimal : 42 Ungepacktes BCD-Format: 0000 0100b (0x04) 0000 0010b (0x02)
Der Vorteil hierbei ist z. B., dass durch eine einfache or-Verknüpfung mit 0x30 eine BCD-Ziffer in das passende ASCII-Zeichen umgewandelt werden kann.