Subtrahierer
Die Gegenoperation von addieren ist ... subtrahieren. In diesem Kapitel wirst du die digitale Subtraktion kennen lernen.
Darstellung negativer Zahlen und Subtraktion im Binärsystem
Neben der Addition ist die Subtraktion eine zweite Grundrechenart.
Bei der Subtraktion wird einfach die Gegenzahl addiert, z.B.: 7 – 5 = 7 + (-5) = 2.
Rechner können im Prinzip aber nur Nullen und Einsen addieren. Um zu subtrahieren, muss von dem Subtrahenden,
also „die Zahl, die du abziehst", (hier die 5) die Gegenzahl gebildet werden (-5),
die anschließend addiert wird (+ (-5)).
Falls du vergessen haben solltest, wie die Binärdarstellung von Zahlen in Maschinen funktioniert, schaue dir nochmals dieses Kapitelan.
Man unterscheidet nun zwischen positiven und negativen Zahlen im Binärsystem:
Das führende Bit wird zum Vorzeichen-Bit. Dadurch verändert sich der verfügbare Zahlenraum.
Bei 8 Bit können dann statt 0 bis 255 (2^8 = 256 verschiedene Zahlen) nur noch die Zahlen von -128 bis +127 dargestellt werden (das
sind auch noch 256 Zahlen).
Z. B.:
Also
0∙(-128)+0∙64+1∙32+0∙16+0∙8+0∙4+0∙2+1∙1=33
1∙(-128)+1∙64+0∙32+1∙16+1∙8+1∙4+1∙2+1∙1=-33
Kommen wir auf obiges Beispiel zurück, so wird die Gegenzahl im Binärsystem wie folgt gebildet:
1.) Invertiere die Binärzahl (Tausche 0 und 1). Man nennt dies das Einerkomplement. | 5 = (0101)2 invertieren: (1010)2 | ||||
2.) Addiere eine Eins. Die führende Stelle ist das Vorzeichenbit. Man nennt dies das Zweierkomplement. |
Also ist (1011)2 = -5 |
||||
3.) Nun müssen nur noch beide Binärzahlen addiert werden. |
|
Aufgabe 1
Überlege dir selbst drei Subtraktionsaufgaben und führe diese binär durch. Überprüfe deine Ergebnisse, indem du die Binärzahlen in das Dezimalsystem zurückwandelst.
Parallelsubtrahierer
Ziel soll es nun sein, Subtrahierer mit den vorhandenen Bausteinen zu bauen.
Aufgabe 2
Baue einen 4-Bit-Parallelsubtrahierer. Kopiere dir dazu
den 4-Bit-Paralleladdierer (vorheriges Kapitel) in
LogicSim und ändere diesen ab.
Welches Gatter musst du an die Eingänge b_0,…b_3 jeweils zwischenschalten, damit die Werte invertiert werden?
Wie muss der erste Addierbaustein (HA) abgeändert werden, dass er zusätzlich noch eine 1 addiert?
Aufgabe 3 - Addieren & Subtrahieren
Du möchtest eine komplexere Schaltung bauen? Kein Problem!
Um mit derselben Schaltung wahlweise addieren oder subtrahieren zu können, wird eine sog. Steuerleitung benötigt.
Sinnvolle Werte könnten dabei sein:
Steuerleitung = 0 steht für Auswahl = Addition,
Steuerleitung = 1 steht für Auswahl = Subtraktion (weil so die Steuerleitung die bei der Subtraktion für die
Bildung der Gegenzahl benötigte 1 liefert).
Bezogen auf die Datenleitungen b_0, ... b_3 soll gelten:
Wenn die Steuereingang = 0 ist, dann bleiben die Daten der Datenleitungen b unverändert.
Wenn die Steuereingang = 1 ist, dann werden die Daten der Datenleitungen b invertiert.
Kopiere dazu den 4-Bit-Parallelsubtrahierer und ändere diesen erneut ab.
Überlege dir zunächst, welches Gatter ergibt das gewünschte Verhalten für die Steuerleitung?
Erstelle dir zunächst eine Schalttabelle: Bei Eingang b0 = 0 und s = 0 soll der Ausgang 0 sein;
bei Eingang b0 = 1 und s = 0 soll der Ausgang 1 sein; ...
Die Steuerleitung kannst du durch einen zusätzlichen Schalter realisieren.
Das gewünschte Verhalten hat das XOR-Gatter...
Quellen
- [1]: - Urheber: SD - Lizenz: inf-schule.de
- [2]: - Urheber: SD - Lizenz: inf-schule.de
- [3]: - Urheber: SD - Lizenz: inf-schule.de
- [4]: - Urheber: SD - Lizenz: inf-schule.de