设C语言中,一个int型数据再内存中占两个字节,则unsigned int 型数据的取值范围为??

设C语言中,一个int型数据再内存中占两个字节,则unsigned int 型数据的取值范围为???解释详细点。

int占2个字节,就是16位,则int型的变量值的范围为-2^15 ~ (2^15 - 1), 即-32768~32767
unsigned int取值范围0~(2^16 - 1), 即0~65535
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-29
int 再内存占多少字节和编译器有关,一般情况是4字节而不是2字节,查看方式sizeof(int),
unsigned int取值范围是0到2^32,若int位2字节则范围是unsigned int取值范围是0到2^16,原因 :unsigned int是无符号的,最高位是数据位,共16bit,故0到2^16
第2个回答  2014-06-29
如果一个int占两个字节就是16位
unsigned int 范围是 00000000 00000000 到 11111111 11111111
因此是0到65535追问

上面到下面怎么换算的呢?

追答

你说十进制到二进制?

追问

嗯嗯嗯

追答

十进制转换二进制你需要找到对应的位数,比如十进制23,23 = 16 + 4 + 2 + 1 因此23 是 10111
类似这样去做。

第3个回答  2014-06-29
0~65535。
也就是0x 00 00到0x FF FF。
后者就是FF FF = 65535。
无符号整型的区别在于它的最高位不是符号位。追答

双字节的整型则范围是-32767~+32767。也就是0xFF FF 到0x EF FF。

对于有符号整型来说,最高位为1,通常表示是负数。