Komplementaddition von dualen zahlen
Michael W.
- sonstiges
0 srob0 Sven Rautenberg
Hallo,
ich "lerne" gerade wie man zb. 178-75 in dualen zaheln ausrechnet (oder was auch immer)...
das hier habe ich noch verstanden:
44:2 89:2 178:2
22 44 89
0 1 0
usw.
am ende dann
1011010 (178)
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
ich hab keine ahnung und steh voll aufm schlauch.
kennt jemand einen link oder kann mir das jemand mal erklären?
MfG
Michael W.
Hallo Michael,
Dein Ansatz mit dem Komplementieren der Bits war schon richtig, allerdings scheint mir bei der binären Darstellung der beiden Zahlen jeweils ein Digit verlorengegangen zu sein.
Infos: http://www.netzmafia.de/skripten/dvs/dvs3.html
HTH Robert
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
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