Über den Rechner
Dieser Rechner führt für 2 Binärzahlen (auch Dualzahlen genannt) die Subtraktion durch. Es kann ausgewählt werden, ob dafür das Ergänzungsverfahren oder das Abziehverfahren genutzt werden soll. Die Binärzahlen dürfen negativ sein, müssen aber das gleiche Vorzeichen haben.
Binärzahlen subtrahieren mit Ergänzungsverfahren
Um zu verdeutlichen, wie 2 Binärzahlen mit dem Ergänzungsverfahren subtrahiert werden, soll die folgende Subtraktion durchgeführt werden:
1011002 − 100101012
Um mit dem Ergänzungsverfahren eine Binärzahl von einer anderen abzuziehen, werden die beiden Zahlen zuerst untereinander geschrieben. Dabei ist darauf zu achten, dass die größere Zahl unbedingt oben stehen muss. Wenn die beiden Binärzahlen keine Nachkommastellen haben, dann werden sie so untereinander geschrieben, dass ihre letzten Stellen untereinander stehen. Wenn sie beide Nachkommastellen haben, dann werden sie so aufgeschrieben, dass von beiden Binärzahlen die Kommas untereinander stehen. Unter den beiden Zahlen wird eine Zeile frei gelassen.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
Dann werden von rechts nach links die Spalten durchgegangen und es wird versucht die Ziffer der unteren Zahl von der Ziffer der oberen Zahl abzuziehen. Wenn das Ergebnis 0 oder 1 ist, dann wird es unter den Lösungsstrich geschrieben.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
0 | 0 | 1 |
Wenn die Differenz negativ ist, dann muss die obere Ziffer um 102 (also 2 im Dezimalsystem) erhöht werden. Die 1 wird eine Spalte weiter links unter die beiden Zahlen geschrieben.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
0 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
1 | ||||||||
0 | 0 | 1 |
Nachdem die obere Ziffer um 102 erhöht wurde, lässt sich die Subtraktion durchführen.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
1 | ||||||||
1 | 0 | 0 | 1 |
Wenn unter den beiden Ziffern in einer Spalte noch eine weitere 1 steht, dann wird sie gedanklich zur Ziffer der unteren Zahl hinzuaddiert, bevor diese von der Ziffer der oberen Zahl abgezogen wird.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
1 | ||||||||
0 | 1 | 0 | 0 | 1 |
Wenn eine Zahl mehr Vorkommastellen oder Nachkommastellen als die andere hat, dann gibt es Spalten, in denen entweder für die obere oder für die untere Zahl keine Ziffer steht. Entweder schreibt man an diese Stellen eine 0 oder man denkt sich an diese Stellen eine 0.
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 1 | 1 | 0 | 0 | ||
1 | 1 | 1 | ||||||
0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
Wenn für die Berechnung der Minuend und der Subtrahend vertauscht werden mussten (also wenn der Subtrahend größer als der Minuend war), dann ist das Ergebnis negativ.
Binärzahlen subtrahieren mit Abziehverfahren
Um zu verdeutlichen, wie 2 Binärzahlen mit dem Abziehverfahren subtrahiert werden, soll die folgende Subtraktion durchgeführt werden:
100010102 − 1110001012
Auch beim Abziehverfahren (auch Entbündelungsverfahren genannt) werden die beiden Zahlen so untereinander geschrieben, dass die größere Zahl oben steht. Wenn die beiden Binärzahlen keine Nachkommastellen haben, dann werden sie so untereinander geschrieben, dass die letzten Ziffern untereinander stehen. Wenn die beiden Binärzahlen Nachkommastellen haben, dann werden sie so untereinander geschrieben, dass die Kommas untereinander stehen. Beim Abziehverfahren wird über den beiden Zahlen etwas Platz gelassen.
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
Dann wird von rechts beginnend für jede Spalte versucht die Ziffer der unteren Zahl von der Ziffer der oberen Zahl abzuziehen. Wenn die Differenz der Ziffern 0 oder 1 ist, dann wird das Ergebnis unter den Lösungsstrich geschrieben.
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 |
Wenn die Differenz negativ ist, dann muss die obere Ziffer um 102 (entspricht 2 im Dezimalsystem) erhöht werden. Dafür kann man die 0 durchstreichen und darüber eine 10 schreiben. Die 10 ist als Binärzahl zu lesen.
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 |
10 | |||||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 |
Um die obere Ziffer in einer Spalte zu erhöhen, muss von der oberen Ziffer eine Spalte weiter links 1 abgezogen werden. Wenn die obere Ziffer 1 ist, dann ist dies problemlos möglich. Dann wird die 1 durchgestrichen und eine 0 darüber geschrieben.
0 | 10 | ||||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 |
Die 102 ersetzt nun die 0 der oberen Zahl. Jetzt kann für die Spalte die Subtraktion durchgeführt werden.
0 | 10 | ||||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 | 1 |
Wenn die obere Ziffer der aktuellen Spalte erhöht werden muss, aber die obere Ziffer eine Spalte weiter links 0 ist, dann muss diese 0 um 102 erhöht werden, bevor von ihr 1 abgezogen wird. In diesem Fall muss eine weitere Spalte weiter links die obere Ziffer um 1 reduziert werden. Wenn dies nicht möglich ist, ohne dass eine negative Zahl entsteht, dann muss auch sie um 102 erhöht werden, bevor sie um 1 reduziert wird, und eine weitere Spalte weiter links muss die obere Ziffer um 1 reduziert werden. Dies wird so lange gemacht, bis eine 1 in der oberen Ziffer erreicht worden ist.
10 | 0 | 10 | |||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
10 | 10 | 0 | 10 | ||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
10 | 10 | 0 | 10 | ||||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
10 | 10 | 10 | 0 | 10 | |||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
10 | 10 | 10 | 0 | 10 | |||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
0 | 10 | 10 | 10 | 0 | 10 | ||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 |
0 | 10 | 10 | 10 | 0 | 10 | ||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
0 | 1 | 1 | 1 | 0 | 1 | 1 |
Wenn eine Zahl mehr Vorkommastellen oder Nachkommastellen als die andere hat, dann gibt es Spalten, in denen entweder für die obere oder für die untere Zahl keine Ziffer steht. Entweder schreibt man an diese Stellen eine 0 oder man denkt sich an diese Stellen eine 0.
0 | 10 | 10 | 10 | 0 | 10 | ||||
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
− | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
Wenn für die Berechnung der Minuend und der Subtrahend vertauscht werden mussten (also wenn der Subtrahend größer als der Minuend war), dann ist das Ergebnis negativ.
Subtraktion mit negativen Binärzahlen
beide Binärzahlen sind negativ:
Wenn beide Binärzahlen der Subtraktion negativ sind, dann führt man zuerst die Subtraktion mit den absoluten Beträgen der Zahlen durch und wechselt dann das Vorzeichen.
Zum Beispiel soll die folgende Subtraktion durchgeführt werden:
−10012 − (−112)
Zuerst wird die Subtraktion mit Absolutwerten durchgeführt:
1 | 0 | 0 | 1 | |
− | 1 | 1 | ||
1 | 1 | |||
0 | 1 | 1 | 0 |
Dann wird das Vorzeichen gewechselt:
−10012 − (−112) | = | −(10012 − 112) |
= | 1102 |
hintere Binärzahl ist negativ:
Wenn der Minuend positiv und der Subtrahend negativ ist, dann muss der Minuend mit dem absoluten Betrag des Subtrahenden addiert werden.
Zum Beispiel soll die folgende Subtraktion durchgeführt werden:
10012 − (−112)
Berechnet wird:
1 | 0 | 0 | 1 | |
+ | 1 | 1 | ||
1 | 1 | |||
1 | 1 | 0 | 0 |
Es gilt also:
10012 − (−112) | = | 10012 + 112 |
= | 11002 |
vordere Binärzahl ist negativ:
Wenn der Minuend negativ und der Subtrahend positiv ist, dann werden zuerst die positiven absoluten Beträge der beiden Binärzahlen addiert und danach wird vor das Ergebnis ein Minuszeichen geschrieben.
Zum Beispiel soll die folgende Subtraktion durchgeführt werden:
−10012 − 112
Berechnet wird:
1 | 0 | 0 | 1 | |
+ | 1 | 1 | ||
1 | 1 | |||
1 | 1 | 0 | 0 |
Es gilt also:
−10012 − 112 | = | −10012 + (−112) |
= | −(10012 + 112) | |
= | −11002 |