1.1 作用

计算机中,使用二进制的补码形式表示带符号整数

1.2原码与补码之间的转换

一个二进制数如何转换为它的补码形式

1.2.1 正数原码与补码

原码→补码:

X = 0 000 0011

这是一个正数的原码表示,表示 3。

这里我们看一下模运算求正数补码的公式:

[X] = X + M ( mod M)

转换为补码后,[X] = 0 000 0011。可以看出正数的原码与补码一样。

所以,一个正数的补码表示的符号位为 0。以后求正数的补码可以直接将其原码写上。

补码→原码:

由上可知,正数补码与原码相同,即补码即原码

1.2.2 负数原码与补码

原码→补码:

X = 1 000 0011

这是一个负数的原码表示,表示 -3。

这里我们看一下模运算求负数补码的公式:

[X] = M + X ( mod M)

转换为补码后,[X] = 1 111 1101。

对比一下 X 与 [X]:

X = 1 000 0011

[X] = 1 111 1101

我们可以看到原码与补码的变化。

原码的 符号位为1不变,数值部分取反加1 后,得到补码。

补码→原码:

由上可知,原码的 符号位为1不变,数值部分取反加1 后,得到补码。

那么,将思路逆转一下,将补码 符号位为1不变,数值部分减一取反 后,得到原码。

除此之外,还有其他方法吗?❤❤❤

对比一下 [X] 与 X:

[X] = 1 111 1101

X = 1 000 0011

是不是似曾相识呢?

没错,补码的 符号位为1不变,数值部分取反加一 后,得到原码。