Sun Studio 12:C 用户指南

E.1.5.1 (6.1.2.5) The representations and sets of values of the various types of integers(各种类型的整数的表示和值集):

表 E–1 整数的表示和值集

整数 

位 

最小值 

最大值 

char (SPARC) (x86)

-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 (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 

4294967295 

unsigned long (SPARC) v9

64 

18446744073709551615 

long long

64 

-9223372036854775808 

9223372036854775807 

signed long long [在 -Xc 模式下无效]

64 

-9223372036854775808 

9223372036854775807 

unsigned long long

64 

18446744073709551615 

(6.2.1.2) The result of converting an integer to a shorter signed integer, or the result of converting an unsigned integer to a signed integer of equal length, if the value cannot be represented(值无法表示的情况下,整数转换为较短的带符号整型数的结果,或者无符号整型数转换为同等长度的带符号整型数的结果):

整数转换为较短的 signed 整数时,低阶位从较长的整数复制到较短的 signed 整数中。结果可能为负数。

无符号整型数转换为同等长度的 signed 整型数时,低阶位从 unsigned 整型数复制到 signed 整型数中。结果可能为负数。

(6.3) The results of bitwise operations on signed integers(带符号整型数的按位操作的结果):

signed 类型应用按位操作的结果是操作数的按位操作,包括 sign 位。因此,当且仅当两个操作数中每个对应的位均已置位时,结果中的每个位才置位。

(6.3.5) The sign of the remainder on integer division(整数除法的余数的符号):

结果的符号与被除数相同,因此,-23/4 的余数是 -3。

(6.3.7) The result of a right shift of a negative-valued signed integral type(负值带符号整型的右移的结果):

右移的结果为 signed 右移。