【计算机组成原理】 补码加减运算


真值

因为最高位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 (10000011转换成十进制等于131)。

所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。

例:0000 0001的真值 = +000 0001 = +1, 1.000 0001的真值 = –0.00 0001

 

 补码加减运算

基本的规则就是:
加法:
整数: [A]补 + [B]补 = [A+B]补 (mod 2^(n+1))
小数: [A]补 + [B]补 = [A+B]补 (mod 2)

减法:
整数: [A-B]补 = [A]补 + [-B]补 (mod 2^(n+1))
小数: [A-B]补 = [A]补 + [-B]补(mod 2)

将-Y 变为(-Y)时, 将Y连同符号位一起变反,再给末位加1。

(X-Y) = X + (-Y)

(1-1)补=1-(1)补

1:0001

1:0001

(-1):1111