|
一:int 的取值范围
32位无符号整数 , 其表示范围是2的32次方,最大整数为 2的32次方-1 有符号数则要去除一个符号位,正数最大为2的31次方-1 , 负数最小为负 2的31次方 16位整数同理。 int 在32位系统中为 4字节,也就是32位。在一些16位系统中,int 为2字节,在64位系统中int为8字节。
二:什么叫做有符号整数,什么叫做无符号整数
有符号数和无符号数是针对二进制来讲的。 有符号数用最高位作为符号位,“0”代表“+”,“1”代表“-”;其余数位用作数值位,代表数值。 比如: 0011 表示 +3; 1011 表示 -3。 无符号数全部二进制均代表数值,没有符号位。即第一个"0"或"1"不表示正负。 比如: 0011 表示 3; 1011 表示 11。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
通俗来讲,就是 假如,int一样吧, signed int【有符号整型】=-2147483648~2147483648 unsigned int【无符号整型】=0~4294967295 有没有发现,2147483648 X2=4294967295 很明显,事实上int的范围是固定的,就是4294967295的长度, 所以有符号的就是从负数到正数,长度是4294967295。 无符号的就是0到4294967295,长度也是4294967295。
|