Vulpecula
Commander
- Registriert
- Nov. 2007
- Beiträge
- 2.246
Hallo!
Ich brüte momentan über einem Problem. Und zwar will ich den ganzzahligen (!) Wertebereich in einer Variable mit 12 Bit Wortlänge bestimmen.
Ganzzahlig bedeutet ja, dass der positive sowie negative Bereich abgebildet werden sollen. Mir ist auch klar, dass das höchstwertige Bit (MSB) quasi als Vorzeichen dient. Damit bleiben noch jeweils 11 Bit für den postiven bzw. negativen Zahlenraum. Mir ist auch klar, dass die negativen Zahlen als Zweierkomplement gebildet werden; also positive Zahl hernehmen, invertieren und 1 addieren.
An dieser Stelle gerät mein Verständnis der Sache allerdings ins Wanken. Ich geh das Ganze mal durch:
Minimum -> Maximum
Ist es nicht so, dass der theoretische Wertebereich zwar bis -2048 runter geht, ich effektiv aber nur bis -2047 komme, da man maximal das Zweierkomplement aus 0111 1111 1111 bilden kann (was dann da -2047 wäre...)?
Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken.
MfG - Vulpecula
Ich brüte momentan über einem Problem. Und zwar will ich den ganzzahligen (!) Wertebereich in einer Variable mit 12 Bit Wortlänge bestimmen.
Ganzzahlig bedeutet ja, dass der positive sowie negative Bereich abgebildet werden sollen. Mir ist auch klar, dass das höchstwertige Bit (MSB) quasi als Vorzeichen dient. Damit bleiben noch jeweils 11 Bit für den postiven bzw. negativen Zahlenraum. Mir ist auch klar, dass die negativen Zahlen als Zweierkomplement gebildet werden; also positive Zahl hernehmen, invertieren und 1 addieren.
An dieser Stelle gerät mein Verständnis der Sache allerdings ins Wanken. Ich geh das Ganze mal durch:
Minimum -> Maximum
1000 0000 0000 -> 0111 1111 1111 (binär)
-211 (-2048) -> 211-1 (=2047) (dezimal; -1 hier, weil die 0 ja bereits zum positiven Bereich gehört)
-211 (-2048) -> 211-1 (=2047) (dezimal; -1 hier, weil die 0 ja bereits zum positiven Bereich gehört)
Ist es nicht so, dass der theoretische Wertebereich zwar bis -2048 runter geht, ich effektiv aber nur bis -2047 komme, da man maximal das Zweierkomplement aus 0111 1111 1111 bilden kann (was dann da -2047 wäre...)?
Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken.
MfG - Vulpecula