二进制加法器原理c语言,理解计算机(一)---二进制加法器

阅读本文需提前学习《编码---隐匿在计算机软硬件背后的语言》前十一章

关于本书中各种逻辑门的知识汇总如图:

%E9%80%BB%E8%BE%91%E9%97%A8.png

逻辑门

加法计算是计算机唯一要做的工作,通过加法我们可以实现减法、乘法和除法。

二进制的加法可以表示如下:

0+0的进位是0,加法位0

0+1的进位是0,加法位1

1+1的进位是1,加法位0

我们想用电路来表示加法,显而易见地可以用逻辑门来表示。

不难发现,二进制加法的进位操作和与门的结果一致,因此可以用与门来表示。但加法位相对来说有点复杂,二进制的加法位如下表:

+加法

0

1

0

0

1

1

1

0

我们想要的结果是0、1、1、0(从左到右,从上到下)

经过对比后可以发现,常用的几个逻辑门中并没有和上表结果一样的,但是有两个逻辑门与上表结果十分相似。它们是或门和与非门,其中或门和上表结果相似,除了右下角的结果。而与非门则是左上角不一样。

OR

0(a)

1(b)

0(c)

0

1

1(d)

1

1

NAND

0(a)

1(b)

0(c)

1

1

1(d)

1

0

表中a、b、c、d四个点代表输入,将上述两表中同位置的输出做“与”运算,发现得到的结果就是0、1、1、0。那么将一个或门和一个与非门连接到相同的输入上再连接一个与门就可以完成加法位的运算。上述的门就叫异或门,其功能就是当输入相同时输出0,输入不同时输出1。异或门如下图所示:

%E5%BC%82%E6%88%96%E9%97%A8.png

可以简写为:

%E5%BC%82%E6%88%96%E9%97%A8%E7%AE%80%E5%86%99.png

我们将一个与门和一个异或门连在一起就可以完成我们的进位和加法位的运算,如下图所示:

%E5%8D%8A%E5%8A%A0%E5%99%A8.png

我们再来看另外一个问题,二进制加法11+11,最右位两个1加完后有一个进位1,所以在中间位上其实是3个1相加。而上图因为只有两个输入所以没有将前一位的进位纳入这一次的运算,所以它又叫半加器。意思就是它没有办法进行1+1+1的运算,简写如下图:

%E5%8D%8A%E5%8A%A0%E5%99%A8%E7%AE%80%E5%86%99.png

为了对三个二进制数进行加法运算,我们可以做下图的连接:

%E5%85%A8%E5%8A%A0%E5%99%A8.png

想下11+11运算,当最右边两个1相加后,产生1个进位“1”,两个11左边的“1”相加后再与进位“1”相加,体现在图中就是最左侧的“进位输入”+“输入A”+“输入B”,最左边位两个1相加(输入A+输入B)的结果与进位输入“1”再次通过一个半加器相加,其“和”单独作为加和输出,而进位再与最左边的“1+1”的进位做“与”运算产生进位输出。就可以完成一个有进位的二进制运算(即三个二进制数相加)。这个“门”我们成为“全加器”。可以简写如下:

%E5%85%A8%E5%8A%A0%E5%99%A8%E7%AE%80%E5%86%99.png

现在我们可以组建一个如下图的加法器:

%E5%8A%A0%E6%B3%95%E5%99%A8%E5%AE%9E%E5%9B%BE.png

首先将最右端的两个开关和下面的一个灯泡连接到一个全加器上。因为最右端肯定是没有进位的,所以可以将最右端的进位输入接地,如下图:

%E5%8A%A0%E6%B3%95%E5%99%A8%E6%9C%80%E5%B7%A6.png

对于加法器左边第二列的进位输入就是第一列的进位输出,依次接8个全加器即可完成一个8位的二进制加法器。这里需要注意的是最后一个全加器应该接两个灯泡,其中一个是加和,另个是进位,如下图所示:

%E5%8A%A0%E6%B3%95%E5%99%A8%E6%9C%80%E5%8F%B3.png

最后一个进位输出被连接到第9个灯泡上。

至此,一个二进制加法器完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值