为什么int是从-32768到32767而不是从-32767到32767呢?
答案:4 悬赏:80 手机版
解决时间 2021-11-24 21:38
- 提问者网友:温柔港
- 2021-11-24 08:26
为什么int是从-32768到32767而不是从-32767到32767呢?
最佳答案
- 五星知识达人网友:酒醒三更
- 2021-11-24 09:57
计算机用二进制表示负数是用的“补码法”,做法是正数按原码,负数用其相反数的反码加一。
这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。
举例:
3的码值是 00000011,-3则为:11111100+1= 11111101
32767的码值是01111111,11111111(15个1),-32767是
10000000,00000000+1=10000000,00000001
-32768是01111111,11111111+1=10000000,00000000
这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。
举例:
3的码值是 00000011,-3则为:11111100+1= 11111101
32767的码值是01111111,11111111(15个1),-32767是
10000000,00000000+1=10000000,00000001
-32768是01111111,11111111+1=10000000,00000000
全部回答
- 1楼网友:一叶十三刺
- 2021-11-24 11:51
是规定呀,就是这么规定,如果真要问,那就要问开发者了
同意楼上,我也学会了
同意楼上,我也学会了
- 2楼网友:夜余生
- 2021-11-24 11:45
2的n次方-1``````呵呵 总线大小有关``也就是和计算机硬件结构设计方面有关, 为什么是2就是因为计算机是以0,1为单位进行数据处理的
- 3楼网友:话散在刀尖上
- 2021-11-24 10:10
-32768~32767中包括0共65536个数正好是2^16
计算机是用2进制表示的所以int是从-32768到32767而不是从-32767到32767
计算机是用2进制表示的所以int是从-32768到32767而不是从-32767到32767
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯