Hallo Freunde, Kann mir jemand bitte erklären was der Unterschied zwischen Carry-,Negativ-,und Overlfow-Flag ist? Ich bedanke mich im Voraus schöne Grüße
Carray zeigt an, wenn ein Übertrag entsanden ist. Bsp.: 255+1=0 C=1 Negativ zeigt an, wenn das Ergebnis kleiner Null ist. Bsp.: 0-1=255 N=1 Overflow zeigt an, wenn das Ergebnis zu groß ist und nicht mit der vorhandenen Bitbreite z. B. in den vorgesehenen Registern gespeichert werden kann. Bsp.: 16*16=256 -> zu groß, da es nicht in ein 8Bit-Register passt. Daher O=1.
Hallo nochmal... Ich kann´s nicht blicken,ich vewechsele mich immer noch.... wenn ich Z.B die zahl 10000 0000(-128d) mit der Zahl 1111 1111(-1d) addiere dann bekomme ich 1 0111 1111. Also ich hab overflow hier weil diese Zahl außer dem erlaubten Zahlenbereich ist. Aber ist jetzt Negativ= 1 oder 0?? Also wird negativ hier eingesetzt? wenn MSB=1 ist d.h negativ wird eingesetzt aber ist MSB hier die 8-te oder die 9-te Stelle??
MSB ist das 8-te Bit 0111 1111 ist eine positive Zahl, weil das Bit ganz links eine 0 ist. (Das 9.te Bit interessiert niemanden, das wandert bei der Addition in das Carry Bit. Das wird erst interessant, wenn man mehrere Additionen kaskadieren muss.) Das 'Negativ Bit' ist einfach nur eine Kopie des 8.ten Bits. Das Ganze entspricht der Addition (-128) + (-1), also -128 - 1. Das ergibt einen Overflow und als Ergebnis kommt die größte positive Zahl raus +127. Umgekehrt das gleiche: Wenn du oben über den möglichen Zahlenbereich hinaus-addierst kommt man 'unten' wieder rein. 127 + 2 = -127 Das Tolle am 2-er Komplement System ist ja gerade das, das du während Additionen und Subtraktionen nicht auf das Vorzeichen achten musst. Das ergibt sich immer richtig. Das einzige was passieren kann, ist das man den Zahlenbereich 'overflowed', aber dann gibt es einen Wraparound, so als ob die Zahlengerade von -128 bis +127 zu einem Kreis gebogen wäre, wobei -128 und +127 nebeneinander liegen.
Danke sehr, das war genung zum verstehen ;) vielen Dank und schöne Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.