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

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

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

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

我们把这两个数颠倒位置后再做一遍。在十进制中,减法题目对应于:

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

而用二进制表示为:

$$
\frac { - 1 1 1 1 1 0 } { ? ? ? 2 ? 2 ? 2 }
$$

第一步用11111111减去减数,得到对1的补数:

$$
\frac { - 1 1 1 1 1 1 0 1 } { 0 0 0 0 0 1 0 }
$$

第二步,将减数对1的补数与被减数相加:

$$
\frac { 1 0 1 1 0 0 0 0 } { 1 0 1 1 0 0 1 0 }
$$

现在我们要用某种方法在结果中减去11111111。当减数小于被减数的时候,我们将结果加1再减100000000来完成计算。但是你无法在不借位的情况下做到这一点。所以,我们先用11111111减去所得结果:

$$
\frac { - 1 0 1 1 0 0 1 0 } { 0 1 0 0 1 1 0 1 }
$$

这里又一次用到了将各位取反来求得结果的方法,但是这个结果是77,而真正的答案应该是-77。

到这里,我们已经有了足够的条件来改造上一章所搭建的加法器,并让它像实现加法一样来实现减法运算。为了不让问题太复杂,这个新的加/减法器只执行在减数小于被减数的减法操作,即结果为正数的操作。

该加法器的核心是由逻辑门集成的8位全加器。

编码—隐匿在计算机软硬件背后的语言

152