# 第12章：二进制加法器

我们接下来要实现一个二进制8位加法器。

二进制加法器由2个8位输入以及1个9位输出组成。我们考虑每一位的加法，其需要实现加法、进位以及考虑上一位进位三种问题。

## 加法的实现：异或门

二进制某一位的加法实现与异或门(XOR gate)的逻辑一致，下图是异或门的真值表：

![异或门真值表](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPntyePRAHsg3SUDm%2F12-1.png?generation=1534098887822927\&alt=media)

其电路实现为与门和或门并联，并且将二者的输出并联接入到一个与门的输入：

![异或门电路示意图](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu-4CNniqF12p_Q%2F12-2.png?generation=1534098886227628\&alt=media)

我们通常用如下的符号表示异或门：

![异或门的符号表示](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu1CB48787e9kl0%2F12-3.png?generation=1534098896601508\&alt=media)

## 进位的实现：半加器

在异或门的基础之上，我们简单地通过并联一个与门即可实现进位，这个结构被称作半加器(Half Adder)

![半加器电路示意图](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu3CiL5Rg9tAEnQ%2F12-4.png?generation=1534098884339897\&alt=media)

或者将半加器内部黑箱化，即2个输入和2个输出

![半加器](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu5OrNmMItpyy17%2F12-5.png?generation=1534098887109875\&alt=media)

## 考虑上一位进位：全加器

考虑上一位的进位比较容易实现，这个结构被称为全加器（Full Adder)，我们直接上图：

![全加器电路示意图](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu7FxGi4YPb8Vpo%2F12-6.png?generation=1534098885108092\&alt=media)

或者将半加器内部黑箱化，即3个输入和2个输出

![全加器](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJjPn5-bMkIBGV-Ugzj%2F-LJjPnu91GRZ1pTEZGTJ%2F12-7.png?generation=1534098883864573\&alt=media)

在全加器结构的基础上，我们将8个全加器相连接，就能够得到一个8位二进制加法器了。其中最低位进位输入接地，最高位进位输出接灯泡（或输出数据）即可。

![最低位全加器](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJk1_jaBX1PzQdDR13Z%2F-LJk1h9ld-m5ftjiZMbu%2F12-8.png?generation=1534109341713422\&alt=media)

![最高位全加器](https://234251797-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LJiv9RjeR-bDWyW69Ul%2F-LJk1_jaBX1PzQdDR13Z%2F-LJk1h9nzOzEHFJVHdXs%2F12-10.png?generation=1534109356262019\&alt=media)
