二进制减法运算可通过以下两种方法实现,具体选择取决于应用场景:
一、逐位借位法(传统减法)
借位规则
- 从高位向低位逐位相减,若当前位被减数小于减数,则向高位借1(相当于二进制的2)。
- 借位后,当前位加2,高位减1(例如:101 - 10,个位1减0得1,十位0借1后变为10,结果为11)。
示例
计算 `1010 - 101`:
- 个位0减1,向十位借1,结果为10;
- 十位0借1后变为10,减1得9;
- 百位0借1后变为10,减0得10;
- 千位1减0得1,最终结果为 `0010`(即2)。
二、补码加法法(计算机常用)
补码转换
- 将减数取反(0变1,1变0)后加1,得到补码。
- 例如:计算 `1010 - 1111`,减数1111的补码为 `0001`(1+1000=1001,再加1得10000,取低5位为00001)。
加法运算
- 被减数与减数的补码相加,结果即为差值的补码。
- 若结果最高位为1,表示负数,需再次取反加1得到真值(如 `1010 + 0001 = 1011`,取反加1得 `0100`,即-5)。
总结
逐位借位法适用于简单计算,但易出错,适合教学演示。
补码加法法是计算机内部实现减法的核心方法,能处理正负数运算且效率高。