整数 |
ビット数 |
最小値 |
最大値 |
---|---|---|---|
char |
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 -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 |
0 |
4294967295 |
unsigned long -m64 |
64 |
0 |
18446744073709551615 |
long long |
64 |
-9223372036854775808 |
9223372036854775807 |
64 |
-9223372036854775808 |
9223372036854775807 |
|
unsigned long long |
64 |
0 |
18446744073709551615 |
整数がより短い signed 整数に変換される場合は、長い方の整数の下位ビットが短い方の signed 整数に複写されます。結果は負になることがあります。
符号なし整数が同サイズの signed 整数に変換される場合は、unsigned 整数の下位ビットが signed 整数に複写されます。結果は負になることがあります。
ビット単位演算を signed の型に適用すると、sign ビットを含むオペランドのビット単位演算となります。その結果の各ビットは、両オペランドの対応するビットが設定されていた場合にのみ設定されます。
結果は被除数と同じ符号になります。たとえば、-23/4 の剰余は -3 となります。