Dualzahlen subtrahieren: Subtraktionsregeln bei Dualzahlen
Das Dualsystem ist ein Zahlensystem, mit dem wie bei Dezimalzahlen subtrahiert werden kann. Anders als beim Dezimalsystem beruht das Dualsystem auf der Basis von 2. Dabei kommen nur die Ziffern 0 und 1 vor.
Bei der schriftlichen Subtraktion wird im Grunde genauso vorgegangen wie beim Dezimalsystem. Das bedeutet, dass man dabei folgende Rechenregeln anwendet:
- Man beginnt wie bei der Addition von Dualzahlen mit den Ziffern mit dem kleinsten Wert.
- Die Ziffern mit dem kleinsten Wert befinden sich von rechts gesehen an der 1. Stelle.
- Ist die Subtraktion der 1. Ziffern durchgeführt, subtrahiert man stellenweise die nächsten Ziffern nach links.
- Bei der Subtraktion wird die Differenz zwischen dem Subtrahenden und Minuenden ermittelt. Wenn der Minuend kleiner (0) als der Subtrahend (1) ist, wird ein Übertrag an der nächsten Stelle gebildet.
Bei der Subtraktion von Dualzahlen gibt es folgende Subtraktionsregeln, die es zu beachten gilt:
- 0 - 0 = 0
- 0 - 1 = 1, mit Übertrag 1 an die nächste Stelle nach links
- 1 - 0 = 1
- 1 - 1 = 0
Borrow-Bit: Subtraktion durch Borgen
Bei den Subtraktionsregeln gilt, dass bei 0 - 1 eine 1 notiert wird und 1 als Übertrag entsteht. Diesen Vorgang nennt man "Borgen", weil man dabei ein Bit aus der nächsten Stelle "borgt". Das übertragene Bit wird umgangssprachlich auch "Borrow-Bit" genannt, was aus dem Englischen kommt und in etwa "geborgtes Bit" bedeutet.
Subtraktion mehrerer Ziffernfolgen
Dualzahlen bestehen in der Regel nicht nur aus einer Ziffer. Meistens sind Dualzahlen als Ziffernfolgen anzutreffen. Diese können genauso mit den Subtraktionsregeln subtrahiert werden.
- Beispiel 1110 - 111 = 111: Man beginnt mit der Subtraktion an der 1. Stelle (ganz rechts). 0 - 1 ist 1 mit 1 als Übertrag.
- Durch den Übertrag sind an der 2. Stelle 1 - 1 - 1 zu berechnen. 1 - 1 ergibt 0. Dadurch bleibt 0 - 1 übrig. Das ergibt wieder 1 mit 1 als Übertrag.
- An der 3. Stelle sind wieder 1 - 1 - 1 zu berechnen. 1 - 1 ergibt wieder 0 und 0 - 1 ergibt wieder eine 1 mit 1 als Übertrag.
- An der 4. Stelle rechnet man zum Schluss 1 - 1 (entstand durch den Übertrag) und das ergibt 0.
- Das Ergebnis der Subtraktion: 1110 - 111 = 0111. Die führende 0 kann weggelassen werden und so entsteht als Ergebnis 111.
Man kann als Gegenprobe die Dualzahlen in Dezimalzahlen umrechnen und das Ergebnis überprüfen.
- 1110 ist in Dezimal: 14
- 111 ist in Dezimal: 7
- 14 - 7 = 7
- 111 ist in Dezimal: 7
Das Ergebnis der Dualzahlsubtraktion ist richtig.
Darstellung negativer Zahlen mit Most-Significant-Bit (MSB)
Bei der Subtraktion von dualen Zahlen hat man kein Problem, solange der Minuend größer ist als der Subtrahend. Anders ausgedrückt, die abzuziehende Zahl kleiner ist als die Grundzahl, von der subtrahiert werden soll.
Ist der Subtrahend jedoch größer als der Minuend, dann ist das Ergebnis eine negative Zahl. Man kennt das aus dem Dezimalsystem, dass 5 - 8 = -3 ergibt. Es muss also einen Weg geben, negative Zahlen im Dualsystem darzustellen. Eine Möglichkeit ist, die negative Zahl mit dem Most-Significant-Bit darzustellen. Dabei wird das Bit dem höchsten Stellenwert als Vorzeichenbit benutzt.
Wird z.B. für eine Ganzzahl ein Speicherbereich von 1 Byte (8 Bits) reserviert, dann ist das Bit mit dem niedrigsten Stellenwert Bit 0 und Bit 7 das Bit mit dem höchsten Stellenwert. Demzufolge würde Bit 7 als Vorzeichenbit benutzt werden. Bei eine Ganzzahl, für die ein Speicherbereich von 2 Bytes reserviert werden, wäre Bit 15 das Vorzeichenbit. Die Vorzeichenbits werden wie folgt dargestellt:
- Positive Zahl: 0
- Negative Zahl: 1
Eine Bitmuster 10000001 würde mit MSB demnach die negative dezimale Zahl -1 darstellen. Ob ein Ergebnis negativ ist, erkennt man bei der Berechnung der letzten Ziffern (ganz links). Bleibt ein Übertrag (Borrow-Bit) übrig, ist das Ergebnis negativ und die 1 wird als MSB notiert. Die Zwischenräume zwischen dem Ergebnis und MSB werden mit 0 gefüllt.
- Beispiel 011 - 111 = 10000100: Man beginnt wieder mit den Ziffern ganz rechts. 1 - 1 = 0.
- An der nächsten Stelle wird wieder 1 - 1 gerechnet. Das Ergebnis ist wieder 0.
- An der dritten Stelle wird 0 - 1 gerechnet. Das Ergebnis ist 1 und 1 bleibt als Übertrag übrig.
- Man notiert die 1 als MSB und füllt die Zwischenbits mit 0.
- Das Ergebnis ist 10001000.
Diese Art der Darstellung negativer Zahlen nennt man Vorzeichen und Absolutbetrag. Dabei zeigt das MSB das Vorzeichen an, die restlichen Ziffern zeigen die Zahl als Absolutbetrag an. Die Zahlendarstellung mit Vorzeichen und Absolutbetrag kann man zwar in rechnergestützten Systemen einsetzen. Es gibt hierbei aber einen großen Nachteil. Denn, für Addition und Subtraktion braucht man 2 voneinander getrennte Recheneinheiten. Es gibt daher noch die Möglichkeit, aus einer Dualzahl ein Einerkomplement oder Zweierkomplement zu bilden, um negative Dualzahlen darzustellen. Auch bei der Komplementbildung spielt das MSB eine Rolle. Das Zweierkomplement wird dabei vom Einerkomplement abgeleitet. Der Vorteil bei der Bildung des Zweierkomplements ist, dass man Dualzahlen mittels Addition subtrahieren kann.