Hi Thegon
Ich danke dir vielmals für deine Antwort, glaub jetzt komm ich dahinter (so langsam)
habe diese Vorschrift für die Rückwandlung benutzt:
Wenn man eine Zahl von der Zweierkomplementdarstellung ins Dezimalsystem umkodieren will, muss man folgendermaßen (umgekehrt entsprechend der Umwandlung vom Dezimalsystem in die Zweierkomplementdarstellung) vorgehen:
Nur eine Verständnisfrage: In der Wikipedia steht:Erste Stelle anschauen: wenn Ziffer = 1: Zahl negativ, Ziffer = 0: Zahl positiv.
Zahl ist positiv: Umrechnung vom Binärsystem ins Dezimalsystem ist bereits möglich;
Zahl ist negativ: Man subtrahiert 1 und negiert die einzelnen Ziffern. (Dieser Schritt lässt sich für den Menschen vereinfachen: Man negiert zuerst die einzelnen Ziffern und addiert hinterher 1, was zum selben Ergebnis führt.)
Die entstandene, entsprechend positive Zahl im Binärsystem rechnet man ins Dezimalsystem um.
Wenn negativ, ein "−" vor die Zahl setzen.
Im Prinzip stimmt das so ja nicht: Das Zweierkomplement bzw. die Zweierkomplementdarstellung ist doch auch eine Konvention, die besagt:Bei der Codierung in der Zweierkomplementdarstellung ist dagegen die explizite Unterscheidung zwischen einem ausgezeichneten Vorzeichenbit und den Bits, die den Betrag beschreiben, nicht notwendig. Negative Zahlen sind daran zu erkennen, dass das höchstwertige Bit den Wert 1 hat. Bei 0 liegt eine positive Zahl oder der Wert 0 vor.
Hey, diese Binäre Zahl ist in Zweierkomplementdarstellung kodiert, also interpretiere die erste Ziffer als Vorzeichen und nicht als Wert.
Oder?
Grüsse! Und danke!
Leider doch noch nicht so klar!und zwar:
Das Zweierkomplement soll doch dazu da sein, dass man Subtraktionen durch Additionen ausdrücken kann und einfach so korrekt rechnen kann.
Bei uns kommt ja aber -37 raus anstatt korrekterweise 37.
Heist das, ich rechne nur Dezimal negative Zahlen ins Zweierkomplement um um sie verrechnen zu können? Und positive rechne ich weiterhin normal?
Sprich: (in pseudocode)
Frage Zahl a und b ab:
wenn a == negativ
a = Zweierkomplement von a
wenn b == negativ
b = Zweierkomplement von b
c = a + b
Ausgabe c
Lesezeichen