一个全加器有3个输入:X,Y,Cin;2个输出:S,Cout。
1、相加值
从一位全加器开始,不难发现,3个二进制相加的值是3个二进制进行异或运算。如图:
注意不是三个二进制一起做异或运算,而是分开做,不然结果不对,我开始就是这样做的。如图:
三个相同的数做异或运算结果为零。
可以发现公式:S=X⊕Y⊕Cin;Cin为相邻低位向本位的进位输入位。
2、进位
在数学中,2个单位数相加要产生进位,只有和不小于进制数,进位非0即1;对于2个一位二进制来说产生进位只有1+1这种情况,再加上一位,最大值情况为1+1+1,最大进位为1,即3个1位二进制相加只要其中2个数1,即产生进位。用电路表示就是对3个数分别进行与运算后的结果再进行或运算,如图:
可以得出公式:Cout=X●Y+X●Cin+Y●Cin。
3、实现全加器
利用2个公式做出一位全加器,如图:
多个一位全加器进行串行,即可得串行的多位全加器,如图:
三位串行全加器