二进制减法运算可通过以下两种方式实现,具体规则如下:
一、借位法(传统减法)
借位规则
当某一位被减数为0时,需向高位借1,借1相当于加2(即10进制中的“借一当二”)。
运算示例
例如计算 `1000001 - 11010`:
- 从最低位开始,1减0得1;
- 第二位0借1后变为10,10减1得1;
- 第三位0借1后变为10,10减0得10,再减去1得1;
- 最高位1被借1后变为0,结果为 `100111`。
二、加法转减法(补码运算)
补码表示
负数以二进制补码形式存储,正数符号位为0,负数符号位为1。例如,-8的8位二进制补码为 `1000 0000`。
运算步骤
- 将减数取反(0变1,1变0)后加1,得到补码;
- 然后按加法规则计算,例如 `12 - 8` 转换为 `12 + 10000000`(8的补码)。
总结
借位法适用于减数小于被减数的情况,需逐位处理借位逻辑。
补码法适用于减数为负数的情况,通过加法实现减法运算,计算机内部普遍采用此方法。