补码求真值怎么算?
2个回答
展开全部
补码是这样计算的:
首位为符号位。
符号位为0表示正数,正数的补码=原码=反码。
符号位为1表示负数,负数的补码等于将符号位后面的位全部取反再加1。另外,一个数的补码的补码等于这个数的原码,所以如果已知一个数的补码,那么对这个补码求一次补码即可得到这个数的原码。
前面已经说了,负数的补码等于符号位后面的位全部取反再加1,所以11010101取反(符号位不变)为10101010,再加1,得到10101011,此即为原真值的原码,由此很容易得到真值为:
-(32+8+2+1)=
-43
首位为符号位。
符号位为0表示正数,正数的补码=原码=反码。
符号位为1表示负数,负数的补码等于将符号位后面的位全部取反再加1。另外,一个数的补码的补码等于这个数的原码,所以如果已知一个数的补码,那么对这个补码求一次补码即可得到这个数的原码。
前面已经说了,负数的补码等于符号位后面的位全部取反再加1,所以11010101取反(符号位不变)为10101010,再加1,得到10101011,此即为原真值的原码,由此很容易得到真值为:
-(32+8+2+1)=
-43
展开全部
知道补码,求真值,是非常简单的。
你就直接进行【数 制 转 换】即可。
既不用求“反码原码”,也不用想着“符号位不变”。
“取反加一”或“减一取反”,都是不需要的。
例如:八位补码是 1101 0101。
首位 1,既代表负号,也代表-128。
其余位,都是正数:64 + 16 + 4 + 1 = 85。
各位之和,就是真值:-128 + 85 =-43。
如果首位是 0,真值就是:64 + 16 + 4 + 1 = +85。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询