编码->二进制加法机

对于提到的运算结果中的"进位"部分,和"与门"的输出是完全一样的

AND      0         1

0           0         0

1           0         1

 

 

而对于"和"这部分来说,和"异或门"的输出时完全一样的。

异或门输出为1时,A输入为1或B输入为1,但不能同时为1

XOR

0

  1

0

0

  1

1

1

  0

 

  异或门的简图如下




这样用逻辑门就可以实现加法运算了,如下图

 

只不过它只能实现一个位的二进制加法,由于多位运算存在进位问题,所以这只能算是半个加法器。

我们把这个"半加器"简化为下图

 

它可以把两个二进制位A 和B相加,从而得到一个和输出(简称S) 和一个进位输出(简称C O )。但大部分二进制数是多于1位的,半加器不能够把前一步的进位加到本次运算中。例如做如下加法:

   1 1 1 1

+ 1 1 1 1


1 1 1 1 0

只能用半加器来计算最右边一列数:即1加1等于0,进位为1。对于右边第2列数,由于进位的存在,需要加3个数。接下来的几列都有这个问题,每一列二进制位的加法都包括了来自前一列的进位。

要把3个二进制数相加,需要按如下方式把两个半加器和一个或门连接起来:

它的工作原理是这样的。

对于第一个半加器是将这一位相加得到一个"和"输出和一个"进位"输出,由于要加上前一位的进位,所以此时引入第二个半加器,第二个半加器把这一位上的"和"输出和前一位的进位值相加,得到一个"和"输出和一个"进位输出",这个"进位输出"和第一个半加器的进位输出通过一个"或门"最后得到最终的"进位输出"。

 

这个组合就是"全加器",简化为下图

 

把多个全加器连接起来,就可以实现对位二进制的加法运算。

连接方法:每个全加器的进位输出连接下一个全加器的进位输入。

如图,八个全加器相连

上图的可以简化成下图的8位的加法器

 

有了8位加法器,也就可以画出16位,或者更多位的加法器,只要有足够多的逻辑门,换句话说就是有足够多的晶体管。

 

16位加法器的连接,只需两个8位加法器

源自:编码的奥秘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值