Subtrahieren mit Digitaler Schaltung

OP #2224119
Moin moin,

ich befasse mich zur Zeit auf Bitebene mit den Grundlegenden 
Operationen, also HA, FA, ALU, (CPU), FF usw.

Addition: Kein Problem...
Subtraktion: In der Theorie ja, praktisch funktioniert es null!
Multiplikation: (wenn man weiß, einfach :) )
Division: Noch gar kein Plan...

Es geht aber zur Zeit um die Subtraktion:
Ich habe zwei Schaltungen aufgebaut. Die Erste (FS_II) ist nach der 
Vorlage von Wikipedia angelegt ( 
http://de.wikipedia.org/wiki/Addierwerk#Subtrahieren )
Es funktioniert in keinster Weise... Egal wie ich es drehe und wende... 
nö :) Als Schaltung mal unter http://cookiesoft.de/~keks/FS_II.gcg zu 
finden :) (Das Programm heißt Logic Gate Simulator, gefällt mir ganz 
gut.. ein wenig unordentlich, aber sonst gut :) )
Die Zweite  (FS.png bzw. http://cookiesoft.de/~keks/FS.gcg nach einer 
Idee von http://www.metafair.de/pub/da03_facharbeit.pdf und das 
funktioniert schon besser, aber auch nicht 100% gut. Das Problem hier 
ist, dass der Signum Ausgang (das letzte Carry out) dauerhaft leuchtet 
und auch nicht sehr gut ist.
Also nun mein Ding. Habt ihr eine wirklcih 100% funktionierende 
Subtraktionseinheit, die man am besten auch umschalten kann bzw. auf 
einen Volladdierer aufbauen. Das ganze muss dann "6-Bit-Fähig" sein.

Dankeschön ;)

Mfg

Marcel
Angehängte Dateien:
Eigentlich liefert Wikipedia ja direkt die Lösung: statt a-b rechnet man 
a+(-b), ändert also lediglich das Vorzeichen des zweiten Operanden. Und 
das soll nicht funktionieren? Hast du dir mal angeschaut, ob das 
Zweierkomplement korrekt gebildet wurde?
Gast
Hi
Wieso tust du dich so schwer ? Im Dezimalsystem rechnest du mit der 
Basis 10, also mit Ziffern zwischen 0 und 9. Das ist schon ein 
Riesenbereich. Die Digitaltechnik hat nur Zahlen auf der Basis 2, also 
nur Ziffern zwischen 0 und 1, das sollte doch viel einfacher sein.....
Ach ja das andere ist ja bereits erwähnt, also, das eine Subtraktion nur 
eine Addition negativer Zahlen und eine negative Zahl im Binärsystem 
eben das Zweierkomplement ist....
Gruß oldmax
OP
so guten morgen :) endlich ausgeschlafen...
ja FA ist ein FullAdder bzw. Volladdierer, daran sollte man sich nicht 
stören ;) dachte mach ich da mal einen auf MultiKulti. Spaß beiseite.

Das Problem ist nun mal, dass man mit dem ersten fast nicht rechnen 
kann, also z.B. 10-01 ergibt ja 01, alles normal. (FS_II), aber 10-10 
ergibt - .... also das letzte carry bit ist aktiv, und das sollte es ja 
nicht sein, denn ist ja 0, also kein ausgang an!
Auch 01-11 ergibt laut dem 10, es muss aber -10 sein... ach alles ein 
wenig komisch. Addieren funtkioniert wunderbar ;)

Die andere Schaltung Selbes Szenario. Alles aus ergibt - .... nicht das 
gelbe vom Ei.
10-01 = 01, alles gut 01-10=-01, auch gut, aber es funktioniert doch 
nicht so recht. Ich bin grade dabei eine Mischung aus beiden zu bilden, 
mal schauen, wie das funktioniert ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.