如何制作加法器 《编码》读书笔记 二

本文详细介绍了如何从基本的与或门出发,构建半加器和全加器,进而组装成8位加法器的过程。通过这个过程,阐述了硬件设计中的抽象和封装思想,并强调这种思想在软件编程中的普遍应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《编码》读书笔记

二 如何制作加法器

前言

​ 书接上回,看小将与或门,长驱直入,在长坂坡杀了个七进七出。hold on,hold on…

半加器

​ 上一次,我再解释异或门的时候,我借助了二进制的加法口诀,将二进制加法分成两部分,一是加法位计算,二是进位计算。加法位计算我们就可以用异或门表示,进位计算我们可以用与门来表示。将两个原件组合成来计算加法:

在这里插入图片描述

将这样的组合就是一个半加器(Half Adder),我们把这个组合,进行抽象。如下:
在这里插入图片描述

为啥叫加半加器呢?因为他不完整,你不能说东厂的厂公他是一个顶天立地的男人。我们仔细看这个半加器,当我们计算一个 101 + 101 的时候,第一位的计算,输入 1 和 1,加和为 0,进位为 1;第二位计算,输入两个 0,但是第一位计算的进位没有输入到半加器中。他不能完整的计算加法。

如何设置一个全加器?

在这里插入图片描述

  1. 首先第一个半加器的和必须和前一列计算的进位相加,输入到第二个半加器;
  2. 第二个班加器计算和是,是计算的结果;进位与第一次进位通过或门得到进位;
  3. 两个半加器的进位,没有都是1可能,所以只需要一个或门即可,不需再加一个全加器。

再次抽象!我们把上边组合进行合体,我们得到了全加葫芦小金刚:

在这里插入图片描述

输入A输入B进位输入加和输出进位输出
00000
01010
10010
11001
00110
01101
10101

将这个表带入上边的半加器组合成的全加器,走几个输入。

构建一个8位加法器

我们有了上边的加法器,我们就能构建一个8位的二进制加法器。

  1. 首先在计算第列的时候,我们需要把第一个全加器的加和结果链接灯泡;
  2. 全加的器的进位输入到下一列计算用的全加器中;
  3. 输入A,输入B,我们接入第一位的计算的两加数;
  4. 第一列计算是没有进位输入的,所以在全加器进位输入,我们直接输入 0。

在这里插入图片描述

做好第一列,后边的都明明白白的了。

  1. 前一列的进位,接入全加器的进位输入;

  2. 计算的加数,接入A,B;

  3. 加和接入灯泡;

  4. 进位输出接入下一列全加器的进位输入中。

只有最后列需要计算结果需要接入两个灯泡。最后我们就构建出一个计算8位加法器。

在这里插入图片描述

然后我们买个硬点的塑料盒子,把这个加法器进行包装一下,合成8位加法器,就可以摆摊售卖了。

铁匠林纳斯:对你的8位加法投来羡慕的眼光。

在这里插入图片描述

ps:DNF的npc铁匠林纳斯,和Linux的爸爸是相同的名字。

当然了,我们有了8位加法器了,我们马上就能构建我们 32768 位加法计算器了。我们只需要 4096个8位的加法器就可以了。

总结:

​ 我们从与或门和与门构建起来了一个半加器;我们又通过两个半加器和一个或门构建起来全加器。再通过全加器的串联我们构建起来了一个8位加法器

​ 我们重要的是理解思想,硬件的构成,也是通过一个个小原件,构建一个大原件,然后组合成一个能有实际效果或是实际作用的组件。硬件的思想也有抽象和封装的思想。软件编程过程或是学习过程中,也是随处可见这些思想。SpringCloud中各种组件也在满足条件中随意来回搭配。也是通过这些组件的搭配来构建一个完整高效的系统的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值