PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binär addition und flags


firfin
2011-04-01, 16:33:25
hello,

angenommen man hat 3 bits zur verfügung
und addiert mit vorzeichen folgendes:

010
+010

also 2 + 2 ;)

ist es dann richtig, dass das ergebnis zumindest "vorläufig" -4 ist?
// bissle schwammige aussage.... bitte versuchen zu verstehen ;D

da das signed flag auf 1 gesetzt wird bei dieser addition?

danke!

Exxtreme
2011-04-01, 17:07:43
Verstehe ich das richtig? Man hat insgesamt 4 Bit zur Verfügung und nutzt das letzte als Vorzeichen, oder?

firfin
2011-04-01, 17:38:12
so wie ich es verstanden hab sind es 3 bits, die flags sind extra register flags...

firfin
2011-04-01, 18:05:16
ok hab was falsch verstanden, das signed flag wird so oder so auf eins gesetzt! (bei dieser rechnung)
und 100 wäre dann -4 da Zweierkomplement (wenn vorzeichenbehaftet)

also hat sichs erledigt! thx

Exxtreme
2011-04-01, 20:46:41
So viel ich weiss dient das letzte Flag ausschliesslich als Vorzeichen. 100 wären also -0.

Coda
2011-04-01, 21:47:37
Nö. Integer werden heute in praktisch allen CPUs als Zweierkomplement gespeichert, d.h. es gibt keine -0 (Ein Vorzeichenbit gibt es aber bei IEEE754 Floating-Point).

Für 8 Bit-Zahlen:

01111111 = 127
...
00000010 = 2
00000001 = 1
00000000 = 0
11111111 = -1
11111110 = -2
11111101 = -3
11111100 = -4
...
10000000 = -128

Der Vorteil ist, dass Addition und Subtraktion ganz normal funktionieren.