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.
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.
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.