Zum Inhalt springen

BCD-Code

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. November 2005 um 23:36 Uhr durch UncleOwen (Diskussion | Beiträge) (Der Hamming-Abstand eines Codes ist "das Minimum aller Abstände zwischen Wörtern innerhalb des Codes" (siehe Hamming-Abstand)). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Eigenschaften
Stellenzahl 4
Bewertbar ja
Gewicht 3
Minimaldistanz 1
Maximaldistanz 4
Hamming-Distanz 1
Stetig nein
Redundanz 0,7
Codetabelle
Dezimal-
ziffer
BCD-
codiert
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1

BCD oder BCD-Code (von engl. Binary Coded Decimal = de. dualcodierte Dezimalziffer), bezeichnet in der Informatik den 8-4-2-1-Code. Dies ist ein numerischer Code, der jede Ziffer einer Dezimalzahl einzeln dualcodiert, die Ziffernfolge 8-4-2-1 steht dabei für die Werte der Stellen in einer dualcodierten Dezimalziffer. Im Einzelfall wird die Bezeichnung BCD auch synonym zu Zifferncode verwendet, womit die allgemeine Binärcodierung einzelner Dezimalziffern gemeint ist. Der BCD-Code sollte nicht mit dem BCD-Zählcode verwechselt werden.

Codierung

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 Codierung von Vorzeichen, Überträgen oder Kommata verwendet.

Zur Codierung 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 codiert 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.

Anwendung

Diese BCD-Zahlendarstellung hat entgegen der üblichen Darstellung im Dualsystem, in dem der Wert der kompletten Zahl und nicht der Wert jeder einzelnen Dezimalstelle dualcodiert wird, den Vorteil, dass sie sich einfacher in das Dezimalsystem übertragen lässt. Der Nachteil gegenüber der Dualcodierung liegt in dem höheren Platzbedarf.

Der BCD-Code wird wenig eingesetzt, da 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. Auch in COBOL-Programmen auf Großrechnern ist es zur Darstellung „gepackter Zahlen“ (PACKED DECIMAL) noch gebräuchlich. Früher wurden BCD-Zahlen insbesondere in Software für das Bankengewerbe verwendet, da dort keine Rundungsfehler auftreten sollten.

Des Weiteren wird der BCD-Code benutzt, um die Uhrzeit im DCF77-Signal zu codieren.

Siehe auch

Stibitz-Code, Libaw-Craig-Code, Aiken-Code, Gray-Code, 1-aus-10-Code