Frage zur Zahlendarstellung

Gast #428421
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.
Gast #428915
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??
#428930
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.