一个数补码 怎么求真值

2025-02-23 18:41:18
推荐回答(2个)
回答1:

一个正数的补码是其本身,如8位(一个字节)2是:0000 0010,其补码也是0000 0010.
一个负数的补码是其对应的绝对值的补码取反加一,-1的补码是1111 1111,这个值是这么获得的:-1的绝对值是1,1的补码是0000 0001,安位取反是1111 1110,加1后就是1111 1111.
如果想知道1111 1111对应的数到底是多少,可以这么计算,如果这个数的第一位是1表示负数,也就是1111 1111是负数,这是数安位取反加1,就是这个负数对应的绝对值,即:1111 1111取反是0000 0000,加1是0000 0001,这个数是1111 1111的绝对值,所以1111 1111对应的值是-1.

回答2:

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

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

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

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

比如:

有一个八位的补码:1001 1110

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

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

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

----------

另一个八位的补码:0001 1110

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

这就是详细步骤!

简单不简单?

意外不意外?