参考资料:《编码的奥秘》
第12章:二进制加法机
要想实现加法,先来看看一位二进制加法运算的规律。
假设加数和被加数分别为A和B,输出结果位(个位)为S,进位位(十位)为C。
A | B | C|S
0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10
可以看出,
C跟A和B的关系为:只有当A和B同时为1的时候,C才等于1,即C=A&B
S跟A和B的关系为:当A和B相同时,S为0;当A和B不同时,S为1,即C为A和B的“异或”运算:C= A
⊕B。
与门很简单,现在来看“异或门”。异或门可以由组合电路来实现:先对A和B做“或”运算,再加一个“与清零”的电路,即当A和B都为1时,就将结果清零:
将整个电路简化为:
现在设计出的加法电路为:
简化为: