BCD zu Binär oder umgekehrt (Logische Operatoren)

OP #2057453
Lesenswert?
• ▲
▼
Hallo Mikrocontroller-Community,

Ich suche eine Möglichkeit von Binär zu BCD zu konvertieren (und in der 
anderen Richtung) jedoch finde ich nicht heraus wie.

Alles was ich finde sind Mikrocontroller, die ich nicht verwenden kann. 
Ich kann nur Logische Operatoren verwenden: and, or, xor, latches, 
addieren...

Jemand eine Idee wie dies am Besten geht?

Ich habe zum Beispiel die Zahl 25.

In BCD:

0010 0101

Daraus will ich dann eben bekommen: 11001
Gast #2057470
Lesenswert?
• ▲
▼
der "Inhalt" steht auf seite 4. Es handet ´sich dabei genaugenommen um 
ein Prom, einen Festwertspeicher der die Logik enthält.

Deine Aufgabe wäre es diese Wahrheitstabelle in ein KV Diagramm zu 
übertragen und zur kürzen. Dann hast du die Normalform für jedes Bit in 
"UND" "Nicht" & "Oder" Gattern aufgelöst. Wenn du das für jedes 
Ausgangsbit gemacht hast würde ich versuchen die Fälle so zu kürzen das 
du möglichst viele "Fälle" auch Bitübergreifend nutzen kannst um noch 
mehr Gatter zu sparen...

hier gab es auch noch einen Thread zum Hauptthema:

Beitrag "Binäre Codierung, Dezimal anzeigen"

Gruß,
J.
Gast #2057486
Lesenswert?
• ▲
▼
..übrigens:

ein anderer Trick wäre für dein Beispiel:

In BCD:

0010 0101

Daraus will ich dann eben bekommen: 11001

Wäre:

0010b * 1010b = 10100b

10100b + 0101 = 11001b

dezimal

2 * 10 = 20

20 + 5 = 25

Du benötigst einen 4 Bit multiplizierer und einen 8 Bit volladdierer. 
Während man einen Multiplizierer wiederum aus Addierern aufbauen kann.

Impressionen:

http://www.cdrnet.net/projects/cmos/padd4bit.asp

http://commons.wikimedia.org/wiki/File:4bit_multiplizierer.png?uselang=de

J.
Gast #2057507
Lesenswert?
• ▲
▼
Toni,

nenne mal die Randbedingungen, also wieviel bcd Stellen hast du und wie 
groß kann die darin enthaltende Zahl maximal werden?

An der von mir geposteten Idee kommen in nächster Ebene (Halb und 
Volladdierer, Schieberegister) vor, diese sind wiederum aus den von dir 
erwähnten Verknüpfungen aufgebaut.

Wenn es darum geht das in Formeln auszudrücken ist das schon ein schöner 
Spass.

Es hört sich nach einer "Aufgabe" an, und es wäre hilfreich zu wissen 
was das Ziel ist, denn der Aufbau mit logischen Funktionen in Gattern 
ist alles andere als wirtschaftlich, darauf sei nur hingewiesen.

Bitte um Details und Hintergründe.

J.
OP #2057515
Lesenswert?
• ▲
▼
Hallo Jens,

Ich muss dich enttäuschen, es ist keine Aufgabe (eher eine Aufgabe die 
ich mir gestellt habe).

Wieviele BCD stellen es sein sollen, weiß ich noch nicht, werde mich 
vorerst auf zwei Bytes beschränken, das reicht erst einmal. ;)

Mir stehen Volladdierer, Halbaddierer und Schieberegister zur Verfügung.

Ich werde es vorerst in LogiFlash realisieren.:)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.