Dieses höchstwertige Bit wird zum Codieren des Vorzeichens verwendet (1 bedeutet negativ), so dass nur 31 Bits für den tatsächlichen Wert verfügbar sind.
%Vor%2 ^ 32 mögliche Werte
- 2 ^ 31 Werte für negative ganze Zahlen
- 1 Wert für Null
= 2 ^ 31-1 Werte für positive ganze Zahlen verfügbar
2 ^ 32 ist etwa 4,2 Milliarden. Dies ist die maximale Anzahl von Werten, die eine Binärzahl mit 32 Ziffern (eine 32-Bit-Zahl) darstellen kann.
Diese Werte können beliebige Werte in einem beliebigen Bereich sein. In einer UNSIGNED 32-Bit-Zahl sind die gültigen Werte von 0 bis 2 ^ 32-1 (statt 1 bis 2 ^ 32, aber die gleiche Anzahl von Werten, etwa 4,2 Milliarden).
In einer SIGNIERTEN 32-Bit-Nummer wird eines der 32 Bits verwendet, um anzuzeigen, ob die Nummer negativ ist oder nicht. Dies reduziert die Anzahl der Werte um 2 ^ 1 oder um die Hälfte. Dies ergibt 2 ^ 31, was etwa 2,1 Milliarden ist. Das bedeutet, dass die Bandbreite jetzt zwischen -2,1 und 2,1 Milliarden liegt. Gleiche Anzahl von Werten, unterschiedlicher Bereich.
Sie haben 2 ^ 31 Werte unter Null (Mindestwert = -2 ^ 31), 2 ^ 31-1 Werte über Null und Null selbst. Das macht 2 ^ 31 + 2 ^ 31-1 + 1 = 2 * 2 ^ 31 = 2 ^ 32 Werte :) ...
Die andere Erklärung beinhaltet die Art und Weise, wie negative Zahlen dargestellt werden (unter Verwendung des Zweier-Komplements): Kurz gesagt, das höchstwertige Bit zeigt eine negative Zahl an, so dass Sie 2 ^ 31 positive Zahlen (einschließlich Null) übrig haben uns der Bereich 0..2 ^ 31-1