int类型存储最大数是32767,如果再加1会有什么变化?该如何解决
int类型存储最大数是32767,如果再加1会有什么变化?如图,有书解释int类型存储最大32767,+1会溢出,实际操作
int类型存储最大数是32767,如果再加1会有什么变化?
如图,有书解释int类型存储最大32767,+1会溢出,实际操作结果:
C/C++ code# include <stdio.h>int main(void){ int a,b; a=32767; b=a+1; printf("%d %d\n",a,b); return 0;}
运行结果:
32767 32768
Press any key to continue
[解决办法]32767+1 = 0x7FFF+1 = 0x8000 = 1000 0000 0000 0000
1000 0000 0000 0000为有符号数,是一个付数,取反+1 = -(111 1111 1111 1111 +1)
= -(1000 0000 0000 0000)
= -32768
[解决办法][解决办法]书里的int是16位 你这里的int可能是32位的
[解决办法]你的书可以扔掉了,现在的64位win7都跑不了16位程序了,教材竟然还是16位的
[解决办法]扔了算了
[解决办法]又吞楼 现在一般的int都是32位咯
[解决办法]int a =0x7FFFFFFF+1