计算机二进制减法主要通过以下两种方式实现:
一、逐位借位法(传统减法)
运算规则 - 0-0=0,1-0=1,1-1=0,0-1=1(借位为1)
- 从低位向高位逐位相减,若当前位被减数小于减数,则向高位借1(相当于加2)
- 示例:`1100 - 1001`
- 个位0-1,借位后变为10-1=1,十位0被借位后变为10-0=10,百位1-0=1,千位1-1=0,结果为`0011`
二、加补码法(计算机内部实现)
补码原理
- 负数以二进制补码形式表示,补码计算方法:取反加1
- 减法转化为加法:`A - B = A + (-B)`,即`A`加上`B`的补码
- 示例:`1100 - 1001`
- `1001`的补码为`0111`(取反加1)
- `1100 + 0111 = 1011`,结果为`-11`(按二进制补码规则)
总结
手算: 优先使用逐位借位法,效率较低且易出错 计算机