Logikproblem: binär -> bcd; Gatterlösung?

Guten Abend,

falls dies die falsche Rubrik ist, bitte verschieben.

Ich stehe seit Tagen vor der Aufgabe, eine 9-Bit-Binärzahl in eine dreistellige BCD-Zahl zu wandeln. Ich suche vergeblich einen Lösungsweg mit Logikgattern.

Ich brauch eben jenen zur Anzeige des Ergebnisses eines 2 x 8-Bit-Paralleladdierers als Implementation im Zellularautomaten “Wireworld”.

Zur Verfügung stehen mir AND-, OR- und XOR-Gatter und der blanke Draht.

Welcher Guru kann mir weiterhelfen? Merci im voraus.

hi,

das ist nicht so schwierig, du willst also nur ne 9bit lange 0/1-folge in bcd umwandeln…?
das ist ganz leicht, nenn mir mal die sequenz

€dith: bzw. wart mal, normalerweise braucht man das noch nur für ganze zahlen oder besser gesagt hexadezimalerwerte. ich versteh den sinn daher nicht so richtig, auch nicht im zusammenhand des addierers…
und was meinst du mit 3stelligem bcd-code? der muss 4stellig sein, sonst gibts informationsverlust und du kannst max. nur bis 7 zählen, wenn du das 1. bit abschneidest

ciao

Eha. Derart prompte Antwort hab ich nicht erwartet. Bist Du ein Bot? :wink:

Sequenz? Wenn Du eine Beispielzahl meinst… nehmen wir 011011001 (217).

Bitte nichts mit zwischenspeichern, das geht in Wireworld ultraschlecht.

lies mal meinen edit-text :smiley:
11011001 entspricht doch bereits 217, warum hast du da eigentlich 9 bit?

Naa, ich meine eine Binärzahl aufschlüsseln in 3 Tetraden.

Also: aus 011011001 (dez. 217) wird 0010 0001 0111 (2, 1, 7).

Meine bisherige Suche förderte nur Lösungswege zu Tage, die Zwischenspeichern oder Modulodivision enthielten; das ist für meine Zwecke aber ziemlich unbrauchbar (oder ich bin zu dämlich, kann ja sein).

9 Bit hab ich, weil das dem Ergebnis einer Addition zweier achtstelliger Binärzahlen entspricht und ganz vorne ein eventueller Übertrag mitberücksichtigt werden soll; im Beispiel jetzt nicht, aber generell können wir ja auch 101001001 (329) nehmen.

hi,

achso, du brauchst also eine gatterfunktion, die von binär in bcd umwandelt… bööh, das ist jetzt aber ein bissl schwierig das im kopf zu entwickeln. ich glaub, zwischenspeicherung ist da ja fast notwendig, irgendwie muss der ja erkennen, welche binärfolgen rein kommen und welche zahl sich daraus dann ergibt, ohne speichern ist das meiner meinung nach, eigentlich nicht zu lösen… hm

Zur Erklärung: http://wikinger.bplaced.net/seite/bilder/paradd.jpg ist mein Addierer. Die waagrechten Leitungen unten spucken das Ergebnis aus.

Die Anzeige soll ähnlich aussehen wie http://wikinger.bplaced.net/seite/bilder/wwcomp.gif.

Wenns erst BCD ist, schaff ich den Rest allein.

Das Beispiel aus dem zweiten Bild kann ich nicht übernehmen, weil a) es zu klein ist, um es deutlich zu erkennen und b) ich nicht hinter die Schaltungslogik komme.