C ユーザーズガイド

整数 (G.3.5)

(6.1.2.5) 整数の型の表現と値について

表 B-1 整数の表現と値

整数 

 ビット数 最小値 最大値
char (SPARC) (x86) 8 -128 127
signed char 8 -128 127
 unsigned char 8 0 255
 short 16 -32768 32767
 signed short 16 -32768 32767
 unsigned short 16 0 65535
 int 32 -2147483648 2147483647
 signed int 32 -2147483648 2147483647
 unsigned int 32 0 4294967295
long (SPARC) v8 32 -2147483648 2147483647
long (SPARC) v9 64 -9223372036854775808 9223372036854775807
signed long (SPARC) v8 32 -2147483648 2147483647
signed long (SPARC) v9 64 -9223372036854775808 9223372036854775807
unsigned long (SPARC) v8 32 0 4294967295
unsigned long (SPARC) v9 64 0 18446744073709551615
long long [-Xc モードでは無効です。]  64 -9223372036854775808 9223372036854775807
 signed long long1 64 -9223372036854775808 9223372036854775807
 unsigned long long1 64 0 18446744073709551615

(6.2.1.2) 値を表現できない場合に整数をより短い符号付き整数に変換した結果、また符号なしの整数を同じ長さの符号付き整数に変換した結果

整数がより短い符号付き整数に変換される場合は、長い方の整数の下位ビットが短い方の符号付き整数に複写されます。結果は負になることがあります。

符号なし整数が同サイズの符号付き整数に変換される場合は、符号なし整数の下位ビットが符号付き整数に複写されます。結果は負になることがあります。

(6.3) 符号付き整数におけるビット単位演算の結果

ビット単位演算を符号付きの型に適用すると、符号ビットを含むオペランドのビット単位演算となります。その結果の各ビットは、両オペランドの対応するビットが設定されていた場合にのみ設定されます。

(6.3.5) 整数の除算における剰余の符号について

結果は被除数と同じ符号になります。たとえば、-23/4 の剰余は -3 となります。

(6.3.7) 負の値を持つ符号付き整数型を右シフトした結果

右シフトの結果は符号付きの右シフトとなります。