十进制加法器(十进制加法器课程设计)没想到
因此,我们可以用那些逻辑门来制造一个简单的加法器,当然,忽略一部分物理性质,研究最主要的性质——数字相加。
上一文中我们讲完了所有需要了解的逻辑门电路元件,现在我们可以开始以它们为基础,组合出一些实用性的东西了,比如让两个数字进行运算,最简单的运算莫过于加法了因此,我们可以用那些逻辑门来制造一个简单的加法器,当然,忽略一部分物理性质,研究最主要的性质——数字相加。
在二进制为基础的世界中,我们要做的加法器其实要比十进制的简单不少,我们很快就会知道这一点如果对逻辑门电路元件还有不了解的,或者稍微有些遗忘的,可以去以下地址复习一下。数字电路基础——逻辑门电路
初代CPU由加法器组成首先我们来看一下,这些元件是如何工作的首先,如何进行运算?如果是十进制中,加法运算涉及两个数字,但是十进制中有10个数字,那将会有10×10=100种情况(0+0一直到9+9),相对于现在只有一些逻辑门元件的我们来说实在是太复杂了。
但是如果是二进制的加法,那就要简单多了,只有数字0和1,运算只有2×2=4种分别是:0+0=0,0+1=1,1+0=1和1+1=0(暂不考虑进位,或者说进位被舍去)
二进制加法只有四种我们来观察一下这四种,是不是和我们前面提到的某个逻辑门元件的性质相同,这就是异或门的输入输出性质啊那太好了,我们有了一个现成的工具,用异或门来表示加法运算可以看到我们在上面的计算中省去了进位,但是加法没有进位就太离谱了,因此我们要想一个方法,把进位也输出,这样最后一种运算才能得到正确的结果,即1+1=10(二进制算法)。
二进制中1+1=10如何表示进位呢?我们首先来看一下什么时候需要进位,是不是只有两个输入口都有信号才需要进位?那好办了,只要两个输入口都有信号,那就输出进位信号到这里,我们又发现,两个输入口都有信号时输出信号,这和哪个逻辑门元件的性质相符合?。
这刚好符合与门的性质对不对,那我们就用与门来表示进位信号。由此得到了下面的元件,我们称之为——半加器(还需要解决如何将进位加到更高的位中)。
半加器包括两个输入和两个输出我们通常用C表示输出进位(Carry),用S表示输出低位(Sum)。当然,我们会将这两个组合的元件包装一下,用一个更简单的符号来表示半加器。如下图所示
半加器简单表示好了,现在我们得到了第一个工具,半加器这样,一位数的加法我们就可以算了但是仅仅只能算一位数的加法显然是不够的,因此,半加器并不能满足我们的需要,我们需要能算两位数甚至是更高位的运算器那么首先我们来看一下二进制中两位数的加法怎么算。
由于二进制两位数的加法高达2×2×2×2=16种(每个数两位,每个位两种情况),以下我们举一个例子即可。
进位加到更高位从上图我们可以看出,进位要加在下一位的低位上,也就是说,我们需要新的输入口来判断上一位数是否有进位,那显然一个半加器是做不到的因此,我们不妨在半加器的任意一个输入口前加另一个半加器作为作为进位信号的判断器,只要两个半加器中至少一个的输出进位有信号,最后的输出进位一定有信号,因此我们用或门来判断输出进位。
这样我们就得到了一个全加器,如下图:
全加器是有进位的半加器再次总结,三个输入口之间至少两个有信号,即输入信号总和≥2,那输出进位必定有信号。具体输入输出看下图:
输入输出的总结现在,我们就得到了一个可以进位的加法器——全加器。通常简单表示如下:
全加器的简单表示得到全加器之后,我们想要计算两位数了,但是很显然,一个全加器没什么用,还是只能计算一位数,而且输入进位也没用上那我们应该怎么做才能计算两位数呢?我们知道,第一位数的加法是没有进位的,从第二位开始才会有可能有进位,因此我们首先需要一个半加器。
到了第二位,全加器就开始有用了,我们将全加器的输入进位和前一个半加器的输出进位连接,如下图:
两位数加法器这就是两位数加法器,输入口A,B表示两个相加的数的第一位,也就是个位;输入口D,E是两个相加的数的第二位,我们可以简单验证一下,比如11+10=101:11和10的个位分别是1和0,因此输入口A,B为1和0
(注:1+0=0+1,因此A,B哪个是0,哪个是1不重要,结果都不变,后面的位一样)11和10的第二位分别是1和1,因此输入口D,E为1和1开始计算:第一位:A,B是1和0,A+B=1+0=1,因此输入低位S=1,进位C=0
第二位:D,E是1和1,D+E=10,没有输入进位,因此输出位S1=0,输出进位C=1从低位看起,结果为101,结果符合我们再来验算一下三位数加法器,计算101+110=1101,如下图:
三位数加法器A,B表示个位,也就是最低位;D,E表示第二位,F,G表示第三位,也就是最高位101和110的个位分别是1和0,因此输入口A,B分别为1和0101和110的第二位分别是0和1,因此输入口D,E分别为0和1。
101和110的第三位分别是1和1,因此输入口F,G分别为1和1开始计算:第一位:A,B是1和0,1+0=1,因此输出S1=1,输出进位C1=0第二位:D,E是0和1,没有进位输入,0+1=1,因此输出S2=1,输出进位C2=0
第三位:F,G是1和1,没有进位输入,1+1=10,因此输出S3=0,输出进位C3=1从低位开始看,得到结果1101,结果符合如果想要四位数加法器或者更高位的加法器,重复上面的步骤即可低位的进位输出口和高位的进位输入口相对于连接,即可得到更高位的加法器。
理论上,可无限叠加,但实际中不能排除其他物理因素的干扰得到了加法器后,我们就可以继续组合元件,得到减法器或者其他元件在计算机中,每一个位称为一个bit,常见有8bit,即8位,或者16bit,即16位以上是加法器的全部内容,如果对你有帮助,可以点赞,收藏,评论和转发;若有错误,希望指正,罐头会尽快修改。
最后,感谢你的阅读
- 标签:
- 编辑:李松一
- 相关文章
-
我歌词是什么?我落泪情绪零碎 歌词
总有一些歌词会不经意触及你心底的温柔
-
到不了歌词是什么?到不了歌词表达含义!
狂风吹大海啸,真心的人死不了。地多大天多高,一生只换一声好。痛快哭痛快笑痛快的痛,死不了这一生这一秒。我只要求你知道,离别的酒容…
- 别问我是谁歌词是什么?别问我是谁歌词完整版!
- 别问我是谁歌词是什么?别问我是谁歌词完整版!
- 再遇见歌词是什么?再遇见歌词苏打绿!
- 黄玫瑰歌词是什么?黄玫瑰歌词作者是谁!
- 离开以后歌词是什么?离开以后歌词张学友!