Wie funktioniert das mit diesem BCD Code?

8 Antworten

Jede Ziffer einer mehrziffrigen Digitalzahl (Wertebereich 0 bis 9) wird alsa Binärzahl kodiert (mit 4 Bit Länge).

Dabei bleiben die Werte 10 - 15, die bei einer 4-Bit-Darstellung einer Hexadezimalzahl sinnvoll genutzt werden ungenutzt.

Dieses BCD = Binray Code Digital System wird verwendet, wenn der Rechner nicht mit echten Binärzahlen rechnet, sondern wie viele einfachere Rechenautomaten mit Dezimalzahlen, deren Additions und Multiplikationsergebnis für jedes ZIfferpaar abgespeichert ist.

Ich mach mal ein Beispiel:

345:

3 - 0011
4 - 0100
5 - 0101

Also ist das Ergebnis: 0011 0100 0101

Bei BCD wird jede Dezimalstelle einzeln in eine 4-bit Binärzahl umgewandelt.

Müsste so gehen

#!/usr/bin/python
def bcd(n):
  return ''.join([bin(int(c))[2:].zfill(4) for c in str(n)])
   
print(bcd(57))
Woher ich das weiß:Studium / Ausbildung – Informatikstudent

Den unteren Teil kannst du für diese Aufgabe ignorieren (nehme an,die Pseudotetraden werden später im Unterricht noch verwendet).

Bei dieser Aufgabe ist's tatsächlich ganz einfach: Du stellst jede Ziffer einzeln als 4-stelligen binärcode dar. Wenn die binärzahl weniger stellen hätte, füllst Du die linken stellen mit Nullen auf.

Woher ich das weiß:Berufserfahrung – ET-Lehrer. Vorher Prozessleitelektroniker

Du musst die einzelnen Ziffern der Zahl in den jeweiligen Binärcode umwandeln.

Zum Beispiel 34:

3 = 0011

4 = 0100

34 = 0011 0100