Oracle Solaris Studio 12.2: C ユーザーガイド

E.1.5 整数 (G.3.5)

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

表 E–1 整数の表現と値

整数  

ビット数 

最小値  

最大値  

char

-128 

127 

signed char

-128 

127 

unsigned char

255 

short

16 

-32768 

32767 

signed short

16 

-32768 

32767 

unsigned short

16 

65535 

int

32 

-2147483648 

2147483647 

signed int

32 

-2147483648 

2147483647 

unsigned int

32 

4294967295 

long -m32

32 

-2147483648 

2147483647 

long -m64

64 

-9223372036854775808 

9223372036854775807 

signed long -m32

32 

-2147483648 

2147483647 

signed long -m64

64 

-9223372036854775808 

9223372036854775807 

unsigned long -m32

32 

4294967295 

unsigned long -m64

64 

18446744073709551615 

long long

64 

-9223372036854775808 

9223372036854775807 

signed long long [-Xc モードでは無効です。]

64 

-9223372036854775808 

9223372036854775807 

unsigned long long

64 

18446744073709551615 

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

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

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

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

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

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

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

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

右シフトの結果は signed の右シフトとなります。