计算机如何进行三位以内的减法操作?
如232-154=78?
这里面临的第一个难点就是借位,这对于计算机来说非常麻烦,于是人们发明了新的方法。
将232-154变成
232-154+1000-1000,
再变成
232-154+999+1-1000,
稍微变换一下就是,
999-154+232+1-1000,
这样最高位的每一位都是三位减法以内最大数,不存在借位问题,但我们进行的是8位二进制的减法,由于2的8次方为256,于是将1000变换为256,
255-154+232+1-256
这就是补码,即,被减数取反后加一。
计算步骤均为二进制,255-154得
减法
1111 1111
1001 1010
——————
0110 0101
得101,加上232,即
加法
0110 0101
1110 1000
——————
10100 1101
得333,加上1,即
加分
10100 1101
1
——————
10100 1110
得334,减去256,由于我们之前减去一个小数,再加上一个大数,所以结果一定大于256,不需要借位,
减法
10100 1110
10000 0000
——————
00100 1110
得78。
我们可以注意到第一步255-154,其实结果就是154取反,然后加一就是在第一位加上一就可以了。