kodieren | dekodieren | dezimal

> bcd | dezimal | binär <

// BCD - binärkodierte Dezimalzahlen für präzise Dezimalarithmetik

0 Zeichen
0 Zeichen
[DECIMAL]

Dezimalgenauigkeit

Bewahrt die Dezimalgenauigkeit und vermeidet Rundungsfehler durch binäre Darstellung.

[4-BIT]

Nibble-Codierung

Jede Dezimalziffer wird exakt in 4 Bit (ein Nibble) codiert.

[VARIANTS]

Mehrere Formate

Unterstützt 8421-, 2421-, 5421-, Excess-3- und Gray-BCD-Formate.

>> technische infos

Wie BCD funktioniert:

BCD codiert jede Dezimalziffer (0–9) in 4 Binärbits. Verschiedene BCD-Formate verwenden unterschiedliche Bitgewichtungen: 8421 (Standard), 2421 (selbstkomplementierend), 5421 (bi-quinar), Excess-3 (addiert 3 zu jeder Ziffer) und Gray-BCD (minimiert Bitwechsel). Gepacktes BCD speichert zwei Ziffern pro Byte für eine höhere Effizienz.

Beispiel für BCD-Formate:

Dezimal: 9 5 3

8421-BCD:  1001 0101 0011
2421-BCD:  1111 1011 0011
5421-BCD:  1100 1000 0011
Excess-3:  1100 1000 0110
Gray-BCD:  1101 0111 0010

Gepackt:   10010101 00110000
           (95)     (30)

Warum BCD verwenden:

  • >Finanzberechnungen mit Bedarf an exakter Dezimaldarstellung
  • >Digitale Anzeigen und Siebensegment-Decoder
  • >Echtzeituhr-Schaltungen
  • >Taschenrechner- und Rechenchips
  • >SPS- und industrielle Steuerungssysteme

>> häufig gestellte fragen

Was ist BCD?

Binary-Coded Decimal (BCD) ist eine binäre Kodierung für Dezimalzahlen, bei der jede Dezimalziffer durch ihr 4-Bit-binäräquivalent dargestellt wird. Sie wird eingesetzt, wenn Dezimalgenauigkeit entscheidend ist.

Warum BCD statt reinem Binärformat verwenden?

BCD vermeidet Rundungsfehler bei Dezimalberechnungen und vereinfacht die Ausgabe auf dezimalen Anzeigen. Es ist ideal für Finanzanwendungen, in denen exakte Dezimalergebnisse benötigt werden.

Was ist gepacktes BCD?

Gepacktes BCD speichert zwei Dezimalziffern in einem Byte (8 Bit), wobei jedes Nibble eine Ziffer darstellt. Es ist platzsparender als ungepacktes BCD, das für jede Ziffer ein ganzes Byte verwendet.

Welche BCD-Formate gibt es?

Zu den gängigen BCD-Formaten gehören: 8421 (standardgewichtet), 2421 (selbstkomplementierend), 5421 (bi-quinar), Excess-3 (jede Ziffer +3) und Gray-BCD (minimiert Bitänderungen zwischen aufeinanderfolgenden Werten).

// Kurzreferenz

Dec84212421Excess-3
0000000000011
1000100010100
2001000100101
3001100110110
4010001000111
5010110111000
6011011001001
7011111011010
8100011101011
9100111111100

// Codebeispiele

Decimal 25   BCD   0010 0101     (packed: 0x25)
             Binary 0001 1001     (0x19)
Decimal 1234 BCD   0001 0010 0011 0100  (2 bytes, packed)
Overhead     4 bits per digit vs log2(10) = 3.32 bits -> ~20% larger
Add          0x19 + 0x28 = 0x41 -> +6 correction per nibble > 9 -> 0x47

>> Weitere Fragen

F: Was ist BCD und wie unterscheidet es sich von Binär?

A: Beim BCD wird jede Dezimalziffer einzeln mit 4 Bit kodiert. 25 wird zu 0010 0101, die reine Binärzahl wäre 11001. Dadurch bleiben Dezimalwerte exakt und lassen sich leicht anzeigen.

F: Was sind gepacktes und ungepacktes BCD?

A: Gepacktes BCD speichert zwei Ziffern pro Byte (0x25 = 25). Ungepacktes BCD nutzt ein ganzes Byte pro Ziffer, das obere Halbbyte ist 0 oder eine Zonenkennung wie bei EBCDIC.

F: Warum wird BCD noch verwendet?

A: Für exakte Dezimalarithmetik ohne Rundungsfehler, etwa in Finanzsystemen, Taschenrechnern, Echtzeituhren und 7-Segment-Anzeigen. Der Preis: 4 Bit pro Ziffer statt 3,32 Bit, also rund 20 % mehr Speicher.

Weitere Sprachen