Wie funktioniert das mit diesem BCD Code?
Wie funktioniert das genau die Zahlen ganz unten in Nullen und Einsen aufzuschreiben ? Der obere teil der Tabelle macht ja noch sinn aber unten bin ich mir nicht sicher da ich das noch nie zuvor gemacht habe.
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))
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.
Du musst die einzelnen Ziffern der Zahl in den jeweiligen Binärcode umwandeln.
Zum Beispiel 34:
3 = 0011
4 = 0100
34 = 0011 0100