关于用补码来实现减法的背后的数学原理
关于用补码来实现减法的背后的数学原理
\[x - y = x + y 的补码 \]
这是为什么?
我们知道:
负数的补码 = 反码 + 1
我们假设这是一个八位的二进制数, 那么我们可以知道, 数据的周期为 \((100000000)_2\)
现在有两个八位二进制数 \(x\) 和 \(y\)(\(x , y > 0\)) ,那么我们可以得出:
\[x - y = x - y + (100000000)_2
\]
即:
\[x - y = x - y + (11111111)_2 + 1
\]
我们调整一下顺序:
\[x - y = x + (11111111)_2 - y + 1
\]
我们知道, \(-y\) 的反码为 \((11111111)_2 - y\)
所以:
\[x - y = x + y 的补码 \]
看不见我看不见我看不见我