0 Daumen
405 Aufrufe

Wenn ich die Zahl 161 und -8 habe ist dieses Binär:

161 = 0000 1010 0001

-8    = 1111 1111 1000


Dezimal wissen wir 161-8 = 153


Wenn ich jetzt binär rechne:

161 = 0000 1010 0001

-8    = 1111 1111 1000

1 0000 1001 1001

dann habe ich diesen übertag von 1, was mache ich jetzt damit?


-8 habe ich mit dem zweier Komplement gebildet, ist das überhaupt richtig so? oder hätte ich das mit dem einer Komplement machen müssen?

Avatar von

3 Antworten

0 Daumen

Den schiebst Du ins Carry-Flag, so jedenfalls würde eine 12-Bit-CPÜ verfahren?

Du kannst auch 1 gemerkt sagen oder den Übertrag vergessen - je nach dem was Sache ist.

Was heißt richtig?
Die ZweierKomplemente sind so gemacht, dass beim Addieren von negativen Registerzahlen "das Richtige" raus kommt plus Notation des Übertrags (im Carry-Flag). Wenn der Übertrag beim Addieren von positiven Zahlen gesetzt wird, dann bedeutet das einen Überlauf - verlassen des zulässigen Zahlenbereiches

Avatar von 21 k
0 Daumen

Zunächst einmal würde ich die ersten 4 Stellen weglassen

161 = 1010 0001

Und das achtstellige Komplement von

8     =  00001000

bilden, nämlich

11110111.

Jetzt dieses Komplement zu 1010 0001 addieren. Im Ergebnis die erste Ziffer streichen und zur letzten addieren. Dann kommt heraus 10011001.

Avatar von 123 k 🚀
0 Daumen

Dezimal wissen wir 161-8 = 153


Wenn ich jetzt binär rechne:

161 = 0000 1010 0001

-8    = 1111 1111 1000

1 0000 1001 1001

dann habe ich diesen übertag von 1, was mache ich jetzt damit?


Den lässt du einfach weg.


-8 habe ich mit dem zweier Komplement gebildet, ist das überhaupt richtig so?

Na klar, ist prima !oder hätte ich das mit dem einer Komplement machen müssen?   Nein , dann wird es falsch.


Und dein Ergebnis ist dann

0000 1001 1001 Und das gibt doch genau die  153.  Also alles prima !
Avatar von 287 k 🚀

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community