奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 149 页

PDF 物理页索引 165 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
149
PDF 物理页
165(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
fa0363b5b82aba85752611dc35d4cfb171b9111089fc2b2472953a9a5d37be2e

$$
\frac { 2 5 3 } { 1 0 2 3 }
$$

最后再将结果加1,并减去1000。

$$
\begin{array} { r } { 1 0 7 6 } \\ { + 1 } \\ { \frac { - 1 0 0 0 } { 7 7 } } \end{array}
$$

到此,我们就得到了结果。答案与先前的相同,而且没有用到借位。

为什么这种方法行得通呢?原题目是这样的:

$$
2 5 3 - 1 7 6
$$

在这个式子中加上一个数再减去这个数,结果是相同的。因此先加上1000,再减去1000:

$$
2 5 3 - 1 7 6 + 1 0 0 0 - 1 0 0 0
$$

这个式子与下式等价:

$$
2 5 3 - 1 7 6 + 9 9 9 + 1 - 1 0 0 0
$$

然后用以下方式将数字重新组合:

$$
2 5 3 + ( 9 9 9 - 1 7 6 ) + 1 - 1 0 0 0
$$

这个式子与刚才描述过的用9的补数进行的计算是相同的。我们用两个减法和两个加法来替代一个减法,而在这个过程中避免了烦琐的借位。

如果减数大于被减数会怎么样呢?例如以下问题:

$$
\frac { - 2 5 3 } { 3 7 3 }
$$

通常遇到这个问题时你可能会说:“这里减数大于被减数,因此要将减数和被减数交换来执行减法,然后给结果取个相反数。”你可能在脑子里将这两个数交换,而写出这样

13 如何实现减法

149