关于用补码来实现减法的背后的数学原理

关于用补码来实现减法的背后的数学原理

\[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 的补码 \]

posted @ 2023-09-06 17:34  sshadows  阅读(174)  评论(1编辑  收藏  举报