Binäre Subtraktion / 2er Komplement
lima-city → Forum → Sonstiges → Schule, Uni und Ausbildung
addieren
addition
anschauen
antwort
bilden
bit
dank
darstellung
ergebnis
folgender aufgabe
glauben
interpretieren
kontrollieren
negativen zahl
problem
rechnen
subtraktion
versuchen
verwirrung
vorzeichen
-
Hey,
ich habe mit folgender Aufgabe ein Problem:
9
-100 (-91 als Ergebnis)
Das ganze Dual:
0 0 1 0 0 1 = 9
0 1 1 0 0 1 0 0 = 100
0 0 0 1 0 0 1
- 1 1 0 0 1 0 0
-> invertieren des Subtrahend (100) = 0 0 1 1 0 1 1 = (27?)
-> addieren +1
= 0 0 1 1 1 0 0 = (28?) = 2er Komplement
0 0 0 1 0 0 1 (9)
+ 0 0 1 1 1 0 0 (28)
1 0 0 1 0 1 (37) bzw. 5 da 1 Bit gleich Vorzeichen Bit.
aber eigentlich müsste doch 91 (+1 Vorzeichen Bit = 1) rauskommen oder nicht?
Beitrag zuletzt geändert: 30.4.2010 21:43:08 von myhead -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Es ist alles richtig, du interpretierst es falsch ;)
0 1 0 0 1 0 1
muss in eine negative Zahl umgewandelt werden, also -1:
0 1 0 0 1 0 0
Invertieren:
1 0 1 1 0 1 1
Und das ist 91 ;) -
danke, schonmal für die Antwort aber ich glaube ich habe gerade verstanden, das ich das 2er Komplement noch nicht wirklich verstanden habe xD
nikic schrieb: Es ist alles richtig, du interpretierst es falsch ;)
was genau meinst du jetzt mit interpretieren =)
...vllt. ist es im mom. auch einfach ein bisl. spät dafür, werds mir morgen nochmal anschauen. Trotzdem danke schonmal.
-
Hallo,
ich würde es dir gern auch noch mal versuchen zu erklären.
Du hast beide Zahlen, 9 und -100. Das Ergebnis soll -91 sein.
0 0 0 0 1 0 0 1 (Bin) = 9(Dez)
Die -100 muß für die Binäre Subtraktion (oder anders: die Addition mit einer negativen Zahl) umgerechnet werden (nennt sich auch: Einerkomplement bilden), wie du das schon richtig gemacht hast.
0 1 1 0 0 1 0 0 = 100 (Dez)
Als erstes müssen alle 0 mit 1 und alle 1 mit 0 ersetzt werden. Das Ergebnis wird dann mit +1 addiert und man erhält das 1-Komplement von +100, also -100.
0 1 1 0 0 1 0 0 = +100(Dez)
1 0 0 1 1 0 1 1 = (0,1 getauscht)
+1 für 1-Komplement
----------------------------------------------------
1 0 0 1 1 1 0 0 = entspricht also -100
Nun addierst du die 9 mit der -100
0 0 0 0 1 0 0 1 = 9
1 0 0 1 1 1 0 0 = + (-) 100
---------------------------------------
1 0 1 0 0 1 0 1 = Ergebnis
Bei diesem Ergebnis muß du nochmals wie beim 1-Komplement die 0 und 1 vertauschen und anschließend +1 rechnen, damit du das korrekte 2-Komplement erhältst.
1 0 1 0 0 1 0 1 = Ergebnis
0 1 0 1 1 0 1 0 = 0 -> 1, 1 -> 0
+1 für 2-Komplement
----------------------------------------------------
0 1 0 1 1 0 1 1 = Komplementärzahl des Ergebnisses = 91 (Dez)
Das ergibt in Dezimal wieder umgerechnet 91 und ist eine Kontrolle für dich.
Um deine Verwirrung noch mal aufzulösen. Die Darstellung des Ergebnisses -> 1 0 1 0 0 1 0 1 (Dezimal 165) ist so schon korrekt. Das du nicht die -91 erhältst ist klar, da dies eben nur die Komplementärzahl der -91 darstellt. Dafür mußt du eben nochmals alle 0 und 1 miteinander vertauschen und +1 dazuaddieren. Dann kannst du es in Dezimal zurückrechnen und kontrollieren, ob es stimmt.
Ich hoffe ich habe es nicht zu kompliziert erklärt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage