已知一补码为10000101 则其真值为多少?请问为什么是-1111010 而不是-1111011
2个回答
展开全部
首先 符号位为1 则该数为负数
负数的补码:
其原码的符号位不变,数值部分的各位取反,然后整个数加1
即
10000101->10000100->11111011
其原码为 1111011
所以 -1111010是错误的
负数的补码:
其原码的符号位不变,数值部分的各位取反,然后整个数加1
即
10000101->10000100->11111011
其原码为 1111011
所以 -1111010是错误的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
求补码对应的真值,直接转换就可以,不用绕到原码反码。
----------------------------
补码是 1000 0000:-128 + 0 = -128。
补码是 1000 0101:-128 + 4 + 1 = -123。
补码是 0000 0101: 4 + 1 = +5。
9350H = 1001 0011 0101 0000:
-32768 + 4096 + 512 + 256 + 64 + 16 =-27824。
CF42H = 1100 1111 0100 0010:
-32768 + 16384 + 2048 + 1024 + 512 + 256 + 64 + 2
=-12478。
----------------------------
记住:首位 1,既是负号,也是数值。
所以:它就是一个“负值”。
然后,各位求和,就可以了。
就这么简单!
补码和真值,可以直接互相转换。和原码反码,没有任何关系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询