Wie rechnet man Dezimalzahlen zu Binärzahlen mit And-, Or- und X-Orgates?
Wie rechnet man Dezimalzahlen zu Binärzahlen mit Und- und Odergates und wieder zurück? Am besten mit einem Bild oder so zeigen, hab bei Google nichts gefunden :(
2 Antworten
Du kannst die Frage reduzieren auf: Wie erstellt man logische Funktionen aus einer Logiktabelle:
Zum Beispiel für die Zahlen 1-9:
1 <=> 0001
2 <=> 0010
3 <=> 0011
...
9 <=> 1001
Jetzt hast du 9 einzelne Eingänge und 4 Ausgänge, kannst also mit den 9 Eingängen 4 Funktionen für die jeweiligen Ausgänge angeben. (Dazu findest du mehr bezüglich "binary coded decimal")
Für Zahlen über 9 wird es schwieriger. Bei einer zweistelligen Zahl (0-99) hättest du für jede Stelle 9 Eingänge, also 18 Eingänge. Du bräuchtest 7 Bit - also 7 Ausgänge = 7 Funktionen, um alle Zahlen zu codieren... bzw. umgekehrt: 18 Funktionen mit jeweils 7 Eingängen.
Bei "normalen" Binärzahlen hast du das Problem, dass sich auch höhere Dezimalziffern auf untere Bits auswirken kann, beziehungsweise untere Dezimalziffern auf höhere Bits: siehe z.B. Teilbarkeit durch 4 (unterste beiden Binärstellen) oder der Sprung von 31 auf 32. Daher wird die Logik schwieriger.
Bei Binary-Coded-Decimal (BCD) hättest du das Problem nicht, da jede Dezimalziffer zu genau 4 Bits kodiert wird.
Zurück zum Thema: Aus Funktionstabelle solltest du eine Funktion entwickeln können, z.B. mit Karnoug-Veitch-Diagramm oder Minterm/DNF Form...
if 1&1&1&1 : 15
if 1&1&1&0 : 14
if 1&1&0&1 : 13
if 1&1&0&0 : 12
usw.