Forum: Mikrocontroller und Digitale Elektronik Frage zur Zahlendarstellung


von Nico Steigner (Gast)


Lesenswert?

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

von Selma (Gast)


Lesenswert?

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.

von Nico Steigner (Gast)


Lesenswert?

Vielen Dank ;)

von Nico Steigner (Gast)


Lesenswert?

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??

von Karl heinz B. (kbucheg)


Lesenswert?

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.


von Nico Steigner (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.