- Binärcodierte Dezimalzahlen
-
Eigenschaften Stellenzahl 4 Bewertbar ja Gewicht 3 Maximaldistanz 4 Hamming-Distanz 1 Stetig nein Redundanz 0,7 Codetabelle Dezimal-
zifferBCD-
kodiertHEX-
kodiert0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 2 3 0 0 1 1 3 4 0 1 0 0 4 5 0 1 0 1 5 6 0 1 1 0 6 7 0 1 1 1 7 8 1 0 0 0 8 9 1 0 0 1 9 BCD oder BCD-Code (von engl. Binary Coded Decimal) bezeichnet in der Informatik in der Regel den 8-4-2-1-Code. In diesem Fall kann Binary Coded Decimal mit dualkodierte Dezimalziffer übersetzt werden. Es handelt sich dann um einen numerischen Code, der jede Ziffer einer Dezimalzahl einzeln dualkodiert. Die Ziffernfolge 8-4-2-1 steht dabei für die Werte der Stellen in einer dualkodierten Dezimalziffer. In einigen Fällen wird mit BCD die allgemeine Binärkodierung einzelner Dezimalziffern bezeichnet (siehe weiter unten). Der BCD-Code sollte nicht mit dem BCD-Zählcode verwechselt werden.
Inhaltsverzeichnis
Kodierung
Um eine Zahl als BCD-Zahl darzustellen, wird jede dezimale Ziffer (0 bis 9) durch jeweils 4 Bit, also ein Halbbyte (Nibble), im Dualsystem dargestellt (0000 bis 1001, siehe Codetabelle). Die übrigen sechs Werte, die mit 4 Bit darstellbar sind (10102 bis 11112), stellen keine gültigen BCD-Zahlen dar (Pseudotetraden). Sie werden in manchen Systemen zur Kodierung von Vorzeichen, Überträgen oder Kommata verwendet.
Zur Kodierung von Zahlen mit mehr als einer Dezimalziffer werden die BCD-Darstellungen der einzelnen Ziffern hintereinander gesetzt (zum Beispiel wird die Zahl 2687 als 0010 0110 1000 0111, beziehungsweise ohne trennende Leerzeichen als 0010011010000111 dargestellt). Mit einem Byte (8 Bit) können also zwei Dezimalziffern dargestellt werden. Werden die 4 Bits einer BCD-Zahl jeweils in den niederwertigen Bits kodiert und die restlichen 4 Bits mit Nullen aufgefüllt, so spricht man von einer ungepackten BCD-Zahl. Werden beide Hälften eines Bytes mit je einer BCD-Zahl belegt, so nennt man dies entsprechend eine gepackte BCD-Zahl.
Da in hexadezimaler Darstellung vier Bit einer Ziffer entsprechen, sind BCD-kodierte Zahlen in hexadezimaler Schreibweise direkt für Menschen lesbar. Dies gilt auch für mehrstellige Zahlen.
Sollen vorzeichenbehaftete Zahlen im BCD Code abgebildet werden, so ist für positive Zahlen 1110 und für negative Zahlen 1011 vor den Betrag der Zahl zu schreiben.
Anwendung
BCD-Zahlen werden hauptsächlich in kaufmännischen Anwendungen zur Darstellung von Geldbeträgen verwendet, um die Rundungsfehler zu vermeiden, die beim sonst erforderlichen Zahlbasiswechsel in den Nachkommastellen auftreten. Die für solche Anwendungen auch heute verbreitete Programmiersprache COBOL stellt für BCD-Zahlen die Datentypen
COMPUTATIONAL-3
beziehungsweisePACKED DECIMAL
zur Verfügung.In Rechenwerken wird der BCD-Code wenig eingesetzt, weil Schaltungen, die mit BCD-Zahlen rechnen, erheblich mehr Schaltglieder (Gatter) benötigen als Schaltungen, die mit Dualzahlen arbeiten. Der Code findet jedoch gelegentlich in Steuerungssystemen zum Beispiel zur Ansteuerung von LCD- oder LED-Zahlendisplays, sowie dem Versenden von SMS-Nachrichten im sogenannten PDU-Format, Anwendung.
Viele Mikroprozessoren können wahlweise (z. B. durch Setzen eines Flags im Statusregister des Prozessors) in BCD-Arithmetik (also bei Ganzzahlarithmetik) rechnen.
Des Weiteren wird der BCD-Code benutzt, um die Uhrzeit im DCF77-Signal zu kodieren.
Andere BCD-Codes
Es ist zu beachten, dass der BCD-Code auch in anderen Formaten verwendet wird. Beispielsweise ist noch der 1-aus-10-Code, 2-aus-5-Code, 5-4-2-1-Code, sowie der 2-4-2-1-Code (auch Aiken-Code), Exzess-3-Code sowie der Gray-Code gebräuchlich. Diese unterscheiden sich, wie zum Teil in der Bezeichnung erkennbar ist, in der Stellenwertigkeit der einzelnen Bits. Der 1-aus-10-Code und der 2-aus-5-Code dienen in erster Linie zur Fehleranalyse.
Siehe auch
- 1-aus-n-Code
- Aiken-Code
- Exzess-3-Code
- Gray-Code
- Libaw-Craig-Code
- Stibitz-Code
Weblinks
Wikimedia Foundation.