Moin!
am ende dann
1011010 (178)
- 1001011 (75)
wenn ich mich nicht täusche?
und was ist jetzt die komplement addition? ich weiss abhier irgendiwe nicht weiter
irgendwann hatten wir dann mal die untere zahl umgedreht also bit für bit konvertiert
1011010
- 0110100
???????
Wenn du zwei Binärzahlen voneinander abziehen willst, dann geht das so:
Die erste Zahl bleibt so, wie sie ist.
Die zweite Zahl wird bitweise _invertiert_ (nicht konvertiert).
Außerdem muß man noch "1" hinzuaddieren (das entspricht dem Setzen des Carry-Flags).
Das Dumme beim Invertieren: Das gilt für alle Stellen, auch die, die man normalerweise vorne wegläßt.
Also in leicht:
128 10000000
- 64 01000000
= 128 10000000
- (-64) 11111111 10111111
+ 1 00000000 00000001
Addieren:
1 00000000 01000000
= 64
Wenn das Carry-Bit (die 1 ganz vorn) gesetzt ist, ist die Zahl weiterhin positiv, ansonsten ist sie negativ.
Mal als Gegenprobe:
64 00000000 01000000
- 128 00000000 10000000
= 64 00000000 01000000
+(-128) 11111111 01111111
+ 1 00000000 00000001
= 11111111 11000000
Und das sind, gemäß Adam Riese war es zu erwarten, -64.
ich hab keine ahnung und steh voll aufm schlauch.
kennt jemand einen link oder kann mir das jemand mal erklären?
Google: Suche nach "binäre addition subtraktion" wäre doch naheliegend, oder?
http://www.google.com/search?q=binäre+addition+subtraktion&sourceid=opera&num=0&ie=utf-8&oe=utf-8
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)