Binary
-
Kurzes Problem zum Thema Binärzahlen...
Wenn ich beim "Programmieren" auf das Problem stoße: Welchen Zahlenbereich umfasst eine 5 bit Variable
unsigned
signed
...
Wie gehe ich dann vor?
Ich hab 2 Lösungswege vorzuschlagen:1.)
unsigned: 2hoch5 = 32 => also von 0 bis 32
signed: 2hoch4 = 16 => also von -16 bis +162.)
die größt mögliche Darstellung mit 5 bit wäre: 11111
was der Zahl 31 entspricht...
signed natürlich eine Stelle weniger: 1111
was der Zahl 15 entspricht. also -15 bis +15persönlich würde ich zu 2.) tendieren, klingt einfach logisch.
aber bei ner integer bestimmt ich den Zahlenbereich wie in 1.) (2hoch15 bei signed integer)Danke schonmal
-
Der größte darstellbare Wert ist 11111 bzw. 01111 (bei signed ist das erste Bit für das Vorzeichen reserviert), der kleinste Wert ist 00000 bzw. 10000 - in Dezimal umgerechnet ergibt sich 0..31 bzw. -16..15 (Zweier-Komplement).
-
klingt gut, bis auf -16 bis 15...
warum ned -15?
-
Xands schrieb:
klingt gut, bis auf -16 bis 15...
warum ned -15?Warum sollte man einen Wert unterschlagen?
-1 bis -16 => 16 Werte
0 bis 15 => 16 WerteDu musst einfach daran denken das in der Darstellung der positiven Zahlen die 0 mitzählt, bei den Negativen nicht...
cu André
-
Weil die 0 beim Zweierkomplement nur einmal vorkommt, und man dadurch eine negative Zahl mehr hat (als die Positiven).
Beispiel:
10000 (-16) <-> 01111 (15)
10001 (-15) <-> 01110 (14)
...
11110 (-2) <-> 00001 (1)
11111 (-1) <-> 00000 (0)
-
kk
extrem geil!!!

Muss echt n Kompliment loswerden!!! Habt ihr gut verständlich erklärt!
Note 1+ *g*
Danke!!!!!!!!!