Wie rechnet man eine Dezimalzahl in ein BCD-Wert (Binary Coded Decimal Codes) um?

2 Antworten

Ist BCD "ganz normales" Binär?


ckuzb 
Beitragsersteller
 29.01.2018, 20:40

Ich denke schon

0
IBAxhascox  29.01.2018, 20:43
@ckuzb

ok:

Du nimmst deine Zahl: zum Beispiel 7:

7 geteilt durch 2 gibt 3 mit Rest 1

3 geteilt durch 2 gibt 1 mit Rest 1

1 geteilt durch 2 gibt 0 mit Rest 1

0 geteilt durch 2 gibt 0 mit Rest 0

das würde so ja unendlich weitergehen mit den Nullen, das zeigt dass du fertig bist.

jetzt von unten nach oben lesen: 0111 die nullen von links kannst du weglassen. also 7 dec = 111 binär

0

Pro Ziffer brauchst Du 4 Bit. Also kannst Du zwei Ziffern in 8 Bit unterbringen, 4 Ziffern in 16 Bit usw.

Also wird ziffernweise nach binär codiert, und das dann eben der Reihe nach in die Ausgabebytes geschrieben. Es müsste dann nur noch eine Vorgabe her, ob "von unten nach oben" oder "von oben nach unten" zu codieren ist.

Beispiel: Eingabe 95 nach BCD in 8 Bit:

9 -> 1001

5 -> 0101

Wenn "oben nach unten", Ausgabebyte: 1001 0101

Wenn "unten nach oben", Ausgabebyte: 0101 1001


ckuzb 
Beitragsersteller
 29.01.2018, 20:53

Danke für die Antwort. Aber meine Frage ist wie ich zum Beispiel bei der 5 auf die Binärzahlen "0101" komme. Wie kann man die ausrechnen?

0
KarlRanseierIII  29.01.2018, 21:03
@ckuzb

Die Binärstellen entsprechen der Wertigkeit 1,2,4,8 .. oder allgemein der Binärdarstellung folgend: 2^0, 2^1, 2^2, 2^3 ... Ist also exakt genauso wie im Dezimalsystem, nur daß ich nur zwei Zustände je Stelle habe: 10^0, 10^1, 10^2 usw. usf. .

0