1位二进制半加器的实现

2019-04-21  本文已影响0人  日更专用小马甲

逻辑门只能表示输入电平的高低,而高低只能表示现实世界的2个数字,通常用1代表高电平,0代表低电平。那么,如何实现这两个数字相加呢?

因为情况很少,通过枚举的手段,我们可以列出所有的4种组合。

0 + 0 = (0)0
0 + 1 = (0)1
1 + 0 = (0)1
1 + 1 = (1)0

其中,括号的部分代表进位。非括号的部分代表本位。

拆开分别来看:


进位真值表

进位的部分,其实是一个“与门”。可以表示为:(AND x y)

本位真值表

本位的部分,其实是“异或门”。异或门是基础逻辑门的组合。可以表示为:(AND (NOT (AND (x y))) (OR x y))

至此,我们实现了一个1位的加法器,但只能称之为“半加器”。之所以说是“半”,是因为还没有考虑到进位的部分对加法器的影响。

电路图画起来依然很简单,但是要表示成代码,主要是表示2个输出位,还没有很好的办法。

上一篇 下一篇

猜你喜欢

热点阅读