C言語入門 整数型の限界値

Last-modified: 2012-10-24 (水) 21:57:48

計算方法

整数型の限界値は、次のような式で計算できます。

種類最小値最大値
符号あり n bit 整数- 2^(n - 1)2^(n - 1) - 1
符号なし n bit 整数02^n

32 / 64 bit 版 Windows

64 bit 版は、32 bit 版 Windows から、ポインタのみを 64 bit 化したデータ型モデルで LLP64 と呼ばれます。

ビット数最小値最大値
char *18-128127
unsigned char80255
short16-32,76832,767
unsigned short16065,535
int32-2,147,483,6482,147,483,647
unsigned int3204,294,967,295
long32-2,147,483,6482,147,483,647
unsigned long3204,294,967,295
long long64-9,223,372,036,854,775,8089,223,372,036,854,775,807
unsigned long long64018,446,744,073,709,551,615

MacOSX (64 bit Kernel, Snow Leopard 以降)

http://www.wdic.org/w/TECH/LP64

ビット数最小値最大値
char8-128127
unsigned char80255
short16-32,76832,767
unsigned short16065,535
int32-2,147,483,6482,147,483,647
unsigned int3204,294,967,295
long64-9,223,372,036,854,775,8089,223,372,036,854,775,807
unsigned long64018,446,744,073,709,551,615
long long64-9,223,372,036,854,775,8089,223,372,036,854,775,807
unsigned long long64018,446,744,073,709,551,615

*1 C言語の仕様では、char 型は符号あり・なしが未定義ですが、ここでは符号ありとして扱います。