Ich möchte gerne einen kleinen Binärrechner bauen. Anfangs mal 4-Bit. Addieren, subtrahieren soll er können. Addieren ist natürllich kein Problem aber beim Subtrahieren bin ich nicht weitergekommen. Ich habe gelesen das man mittels eines Addierers auch subtrahieren kann indem man einen Summanden negiert. Mein Problem ist aber: Wie stellt man negative Zahlen Binär dar und rechnet mit ihnen. Das ist mal das wichtigste. Die Schaltung kann ich mir dann wahrscheinlich selbst machen. Schon mal jetzt danke für alle Antworten. LG Jakob
ilm8 schrieb: > Wie stellt man negative > Zahlen Binär dar https://de.wikipedia.org/wiki/Zweierkomplement
Du meinst sicher das: https://de.wikihow.com/Bin%C3%A4rzahlen-subtrahieren#Mit-der-Komplement-Methode_sub
Hallo ilm8. Am Besten schaust du Dir mal die Wahrheitstabellen an. Addition: (Ü = Übertrag in nächste Stelle) 0 + 0 = 0, Ü = 0 0 + 1 = 1, Ü = 0 1 + 0 = 1, Ü = 0 1 + 1 = 0, Ü = 1 Subtraktion: 0 - 0 = 0, Ü = 0 0 - 1 = 1, Ü = 1 1 - 0 = 1, Ü = 0 1 - 1 = 0, Ü = 0 Der Ausgang für beide Funktionen entspricht der XOR Funktion. XOR: (# = XOR) 0 # 0 = 0 0 # 1 = 1 1 # 0 = 1 1 # 1 = 0 Den Übertrag für Addition bildest du aus A UND B. Den Übertrag für Subtraktion aus A/ UND B. Gruß. Tom
z.B. so wie im Bild. 16Bit mit Übertrag SUBY=1 bedeutet subtrahieren, SUBY=0 bedeutet addieren
Oh stimmt. Ich hab mir die Wahrheitstabelle eigentlich für Subtraktion angeschaut aber anscheinend war ich irgendwie zu blöd.
Habe noch vergessen. Die Tabellen zeigen nur einen Halbaddierer (1. Sufe). Für alle folgenden Stufen brauchst du einen Volladdierer, welcher einen Übertrag der vorhergehenden Stufe berücksichtigt. Unter Halb- Volladdierer findest du alles Nötige im Netz oder Digitaltechnik Büchern.
ilm8 schrieb: > Alles was mit addieren zu tun hat kenn ich mich eh aus danke Äh warum fragst Du dann überhaupt???? Subtrahieren ist auch Addieren nur anders rum.
TomA schrieb: > Für alle folgenden Stufen brauchst du einen Volladdierer, welcher > einen Übertrag der vorhergehenden Stufe berücksichtigt. Braucht man für Subtraktion nicht überall Volladdierer, weil man den Subtrahenten inklusive seines Übertrags invertiert?
Beitrag #6200044 wurde von einem Moderator gelöscht.
S. R. schrieb: > Braucht man für Subtraktion nicht überall Volladdierer, weil man den > Subtrahenten inklusive seines Übertrags invertiert? siehe meinen Schaltungsschnipsel (Beitrag "Re: Binäre Subtraktion auf Gatterebene")
TomA schrieb: > Der Ausgang für beide Funktionen entspricht der XOR Funktion. Richtig, und wenn man das jetzt noch auf einen Volladdierer/-subtrahierer erweitert (mit Uebertrags-Eingang), dann komme ich auf A' = A xor SUB Q = A xor B xor Ci Co = (B and Ci) or (A' and (B or Ci)) (A, B = Operanden, Ci = Carry in, Co = Carry out, Q = Ergebnis, SUB = 0 fuer addieren, 1 fuer subtrahieren) Das laesst sich noch vereinfachen, indem man statt (B or C) (B xor Ci) nimmt, so dass man das Gatter aus Q verwenden kann. In diesem Fall kann man das letzte OR auch als XOR ausfuehren (da (B and Ci) und (B xor Ci) nie gleichzeitig eins sind), so dass man mit zwei Typen auskommt: 4x XOR, 2x AND.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.