第1个回答 2010-08-03
因为如果是两个字节的话,就是十六位二进制表示的。最大的十六位二进制就是十六个1,即1111 1111 1111 1111,这就是2^15-1啊。
顺便说一下,c语言中整型也不一定就是两个字节,这和你用的编译器有关系,比如我用的vc6.0中就是占四个字节。
我也在研究c语言,我有个c语言交流群,你可以家一下,是baidu hi的群。
群号是1171607,有任何问题欢迎来交流!
第2个回答 推荐于2017-11-23
虽然有16位,但最高位是符号位。最高位为1时说明是负数,为0时表示正数。
即最大的正数的而二进制数就是第一位是0后面15个1:011111111 11111111
对应的十进制数就是2^15-1,而其一为为1其余的全是0时即10000000 00000000表示最小的负数,十进制就是2^-15本回答被提问者采纳
第3个回答 2010-08-03
0也算正数范围内,所以减一,而且现在的机子中貌似int为4字节。c只是规定int不少于16位,但现在的都是32位的编译器,所以int一般为4字节了