www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zur Zahlendarstellung


Autor: Nico Steigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Selma (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Nico Steigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank ;)

Autor: Nico Steigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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??

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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.


Autor: Nico Steigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke sehr, das war genung zum verstehen ;)

vielen Dank und schöne Grüße

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.