为啥32767加了1运行结果直接变成-32768?C语言超入门题
答案:2 悬赏:20 手机版
解决时间 2021-04-08 14:13
- 提问者网友:兔牙战士
- 2021-04-07 17:55
为啥32767加了1运行结果直接变成-32768?C语言超入门题
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-04-07 19:20
有符号数的最大值是
2的15次方-1 = 32767是不是呢
也就是15个1
0111111111111111 这个代表有符号数32767,最高位0代表符号位,0代表正数
c = a+1 = 1000000000000000是吧
c是有符号数1000000000000000,1代表符号为,那么是不是这个数就是负数,负数在计算机中以补码方式存放,那么c的原码就是1000000000000000(原码等于补与取反加1,符号为不变),1000000000000000这个数是负数-32768
2的15次方-1 = 32767是不是呢
也就是15个1
0111111111111111 这个代表有符号数32767,最高位0代表符号位,0代表正数
c = a+1 = 1000000000000000是吧
c是有符号数1000000000000000,1代表符号为,那么是不是这个数就是负数,负数在计算机中以补码方式存放,那么c的原码就是1000000000000000(原码等于补与取反加1,符号为不变),1000000000000000这个数是负数-32768
全部回答
- 1楼网友:舍身薄凉客
- 2021-04-07 19:39
short型变量是2字节的,表数范围是-32768~+32767。32767的2字节二进制是0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯