2012-03-03 8 views
0

私はC言語を学習し、プリミティブデータ型の次の範囲を持っています:Cのプリミティブデータ型の範囲は?

enter image description here

は私が範囲列の値がどこから来た知りません。

+0

これは、Length列にリストされているバイト数です。 –

+0

可能な複製[Cの型の保証最小サイズ](http://stackoverflow.com/questions/1738568/any-guaranteed-minimum-sizes-for-types-in-c) – Joe

答えて

2

intが16ビットの場合は、2^16の値が異なることを意味します。これらのうち、2^15 (= 32,768)(半分)が負であり、2^15 - 1 (= 32,767)が正であり、最後のものが0である。

同じ理由が、8ビット、32ビット、または他の任意のサイズの整数に使用できます。

浮動小数点数(floatおよびdouble)の場合、範囲はexplained on WikipediaまたはIEEE Standard 754 Floating Point NumbersのSteve Hollaschのページの範囲です。

+0

なぜ-1にするかポジティブ? (2^15-1) – ipkiss

+0

'0'は1つのスポットを占めるため、両方を '2^15'にすることはできません。 '2^15'の負の整数と' 2^15 'の非負の整数(つまり '0'を含む)と考えることができ、合計で' 2^16'の整数になります。 –