补码求真值怎么算?

如题所述

补码是这样计算的:
首位为符号位。
符号位为0表示正数,正数的补码=原码=反码。
符号位为1表示负数,负数的补码等于将符号位后面的位全部取反再加1。另外,一个数的补码的补码等于这个数的原码,所以如果已知一个数的补码,那么对这个补码求一次补码即可得到这个数的原码。

前面已经说了,负数的补码等于符号位后面的位全部取反再加1,所以11010101取反(符号位不变)为10101010,再加1,得到10101011,此即为原真值的原码,由此很容易得到真值为:

-(32+8+2+1)= -43
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-03-30

知道补码,求真值,是非常简单的。


你既不用求“反码原码”,也不用想着“符号位不变”。


“取反加一”或“减一取反”,都是不需要的。


你就直接进行【数 制 转 换】即可。


比如:


有一个八位的补码:1001 1110


首位 1,既代表负数,也代表-128。


其余都是正数:16 + 8 + 4 + 2 = 30。


求总和,故其真值就是:-98。


----------

另一个八位的补码:0001 1110。


其真值就是:16 + 8 + 4 + 2 = 30。


这就是详细步骤!


简单不简单?


意外不意外?

第2个回答  2019-11-15

参考:网页链接

相似回答