-32768换成二进制占了符号位了,为何不是-32767?
答案:2 悬赏:50 手机版
解决时间 2021-11-17 08:59
- 提问者网友:戎马万世
- 2021-11-17 02:10
-32768换成二进制占了符号位了,为何不是-32767?
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-11-17 03:12
在16位机上,整数类型占2个字节,有符号数的表示范围为:-32768~32767
二进制表示数据,用首位表示符号位,其余位来表示数值,这种方法表示出来的数称为原码。 但这样会出现“正0”和“负0”数据,与现实中数的应用不符,而且,用原码也不方便计算机进行运算。所以,科学家们提出了补码概念,用来在计算机中存储整数。
规定:
-1 = 1111111111111111
-2 = 1111111111111110
。。。。
-32768=1000000000000000
这是推算的结果,也可以说是规定的结果
二进制表示数据,用首位表示符号位,其余位来表示数值,这种方法表示出来的数称为原码。 但这样会出现“正0”和“负0”数据,与现实中数的应用不符,而且,用原码也不方便计算机进行运算。所以,科学家们提出了补码概念,用来在计算机中存储整数。
规定:
- 正数的补码与原码相同
0的表示形式为000...000 (16位全是0)
负数的补码为反码加1
-1 = 1111111111111111
-2 = 1111111111111110
。。。。
-32768=1000000000000000
这是推算的结果,也可以说是规定的结果
全部回答
- 1楼网友:平生事
- 2021-11-17 04:08
你算错了吧
-32768的补码是 正好是(按照16位来算)
1000,0000,0000,0000
补码是绝对值的二进制每一位取反在加1
-32768绝对值 是 32678
二进制形式是
1000,0000,0000,0000
每位取反
变成0
-32768的补码是 正好是(按照16位来算)
1000,0000,0000,0000
补码是绝对值的二进制每一位取反在加1
-32768绝对值 是 32678
二进制形式是
1000,0000,0000,0000
每位取反
变成0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯