Wie funktioniert binäres Rechnen mit mehreren Zahlen (Beispiel - Subtrahieren)?

Rechnung - (binär, subtrahieren)

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo,

Dein Fehler ist folgender:

Gehen wir mal ins Dezimalsystem und rechnen 1000-999.

Um die 9 von der letzten 0 abziehen zu können, mußt Du Dir von der vorletzten 0 eine 1 'leihen'. So wird die letzte 0 zu einer 10 (rein rechnerisch betrachtet) und die vorletzte 0 wird zu einer 9. So hast Du - von der letzten Stelle aus betrachtet - die Differenzen 10-9=1 (letzte Ziffer des Ergebnisses), und 9-9=0 (vorletzte Ziffer des Ergebnisses). Bis hierhin ist alles klar und richtig. Und jetzt kommt Dein Fehler: Du hast bei der vorletzten Stelle 9-9 gerechnet und gedacht: Prima, 9-9=0 - das geht auf, ohne daß ich hier ins Minus rutsche - ich brauch mir also bei der drittletzten Stelle keine 1 auszuleihen. Und dann rechnest Du fröhlich weiter: 0-9 geht nicht, also leihe ich mir bei der viertletzten Stelle eine 1 und rechne 10-9=1. Aus der viertletzten Zahl, also der 1 von der 1000 wird eine 0 - und 0-0=0.

Und so bekommst Du als Ergebnis: 1000-999=101. Mit dem Trick könntest Du ein billiges Leben führen. Wenn Du von 1000 € 999 € ausgibst und trotzdem noch mehr als hundert Euro in der Tasche hast, bist Du fein raus.

Leider klappt das nicht - und im Dezimalsystem hast Du bestimmt sofort gemerkt, was falsch lief: Die dritte 0 von hinten kann nur dann eine 9 werden, nachdem sie bereits eine 1 an die vorletzte 0 verliehen hat, wenn sie sich ihrerseits eine 1 von der viertletzten Ziffer, also der 1, leiht. Wenn Du nichts hast und einem Freund trotzdem etwas leihen möchtest, mußt Du es Dir vorher selbst leihen. 

Bei Deiner Rechnung hast Du das versäumt. Du hast aus einer 0 eine 1 gemacht - in Wirklichkeit aber wurde sie zu -1 - und es braucht einen erneuten Übertrag, damit sie wieder zu 0 werden kann.

Rechnen wir also: 1000000-101010-10101 von hinten nach vorn durch:

0-0-1: 1 Übertrag 1, dadurch wird die nächste 0 zu 1, braucht aber ihrerseits einen Übertrag, um nicht ins Minus zu rutschen).

1-1-0: 0 (Nun ist auch die drittletzte 0 eine 1 geworden, weil sie an die vorletzte eine 1 gegeben hat, muß jetzt aber von der viertletzten unterstützt werden), also:

1-0-1: 0

Nr. Vier ist ebenfalls eine 1 und wendet sich vertrauensvoll an Nr. Fünf.

1-1-0: 0

Das gleiche Spiel mit den Nullen Nr. Fünf und Sechs von hinten:

1-0-1: 0

1-1-0: 0

Nur die arme 1 an vorderster Stelle, die ihr letztes Hemd gegeben hat, wird zur Null und bleibt Null und wird es in alle Ewigkeit bleiben, weil sie niemanden mehr vor sich hat, von dem sie borgen könnte. 

Merke: Verleihe niemals Geld, wenn Du selbst welches brauchst.

Solche Aufgaben löst Du aber am besten zeilenweise oder Du bildest zunächst die Summe der Zahlen, die Du abziehen möchtest und ziehst dann diese Summe ab - sonst verlierst Du blitzschnell die Übersicht - jedenfalls im Binärsystem.

Herzliche Grüße,

Willy

Willy1729  10.07.2015, 22:36

Herzlichen Dank für den Stern. Willy

0

hallo Arsenal2k7, dein 'Denkfehler' ist sozusagen ein philosophischer ;)

In der Booleschen Algebra wird nicht so gerechnet. Es werden binäre Ausdrücke per Operatoren verknüpft, und zwar:

OR, XOR, AND und IMP.


OR ergibt 1, wenn in a oder b eine 1 steht, oder in beiden
XOR ergibt 1, wenn und nur wenn in a oder b 1 steht
AND  ergibt 1, wenn in a und b eine 1 steht

was dir vorschwebt, also die vier Grundrechenarten, wird an Dezimalzahlen vorgenommen, die aber dann in Binär- Schreibweise dargestellt werden.