-32768的补码等于多少?原码又是?

-32768的补码等于多少?原码又是?
数学人气:975 ℃时间:2019-12-05 10:52:56
优质解答
你应该考虑的是16位的有符号整数(int)吧
在计算机中是用补码存储数据 为什么不用原码存 就是因为原码表示不了最小值-32768
如果是原码表示的话,编码中+0是用16个0表示,-0是用1后跟15个0表示
但是由于+0等于-0所以相当于多花了一个编码来编码0
那么用补码会怎样
补码+0编码出来是16个0
-0 = [1000000000000000]原 = [1111111111111111]反 = [(1)0000000000000000]补
其中1溢出不管了 剩下的是16个0与+0编码相同
这样一来用16位进行编码如果按原码编码可以覆盖-32767~32767[1111111111111111~0111111111111111]
而用补码编码只覆盖到[1111111111111111~0111111111111111]其中[1000000000000000]编码不到
于是规定了用它表示最小值-32768
因此,在考虑16位有符号整数时,-32768只有补码[1000000000000000]没有原码
当然如果你考虑的是大于16位来编码的话-32768肯定能正常编码,如上面所示,用计算器换算原码补码就那结果
但是那显然是大于了16位来考虑的
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版