计算机是怎么进行加法运算的?

在我小时候的印象里,对于计算机的认识就是黑客帝国里面那种充斥0和1的绿色屏幕,后来知道了计算机的一切一切都是基于二进制,那么怎么能从简单的二进制变为现在这些网络世界的,现在我们来一起设计一个二进制的加法器吧


计算机是怎么进行加法运算的?_第1张图片
为什么我戴墨镜看着像个瞎子= =

首先了解基本的逻辑门

简单的只有0和1是组成不了什么东西,记得小学的科学课上让我们动手去用开关连接灯泡吗?

计算机是怎么进行加法运算的?_第2张图片
计算机是怎么进行加法运算的?_第3张图片
计算机是怎么进行加法运算的?_第4张图片

这些就是计算的重要组成部分----逻辑门。分别对应非、或、与。

计算机是怎么进行加法运算的?_第5张图片
计算机是怎么进行加法运算的?_第6张图片

将与或与非门组成会产生或非门和与非门

计算机是怎么进行加法运算的?_第7张图片

分析二进制的加法

为什么计算机不用我们熟知的十进制运算而是用二进制,因为十进制需要记住10以内的加法表。但是二进制你只需要知道

00 01
00 00 01
01 01 10

其中01和01相加会产生一个进位,所以我们设计加法器的时候需要分开计算,加和计算和进位计算。
进位计算是计算俩数的进位结果

进位 0 1
0 0 0
1 0 1

回想一下之前的逻辑门,是不是像与门,对啦!加法器就是通过与门来算俩数的进位

加和计算是计算俩数相加的结果

加和 0 1
0 0 1
1 1 0

现在再次回想一下之前的逻辑门,发现没一个是跟这个表相同,不过再观察一下你会发现,那与非门和或门的重叠处就是跟这个表一毛一样

与非门 0 1
0 1 1
1 1 0
或门 0 1
0 0 1
1 1 1

所以我们加工一下


计算机是怎么进行加法运算的?_第8张图片

把或门和与非门的结果再次用与们计算,结果就跟加和的输出一样了
这种设计又被称为----异或门


计算机是怎么进行加法运算的?_第9张图片

现在一切就绪,我们开始设计加法器吧!

加法器设计

现在有了加和器和进位器就可以设计加法器了,把想要加的俩个数同时经过或门和异或门


计算机是怎么进行加法运算的?_第10张图片

这样就会产生一个加和输出和进位输出。这样就完成了吗?不,只能算完成一半,这个能计算俩个数相加,但是有时候计算需要加算上一次的进位,所以应该有3个数字参与运算,所以将上面这种加法器称为半加器,简化为下图


计算机是怎么进行加法运算的?_第11张图片
半加器的简图.png

全加器

全加器是由半加器与与门组合,可以在计算俩个数的基础上再计算与上一位运算所产生的进位


计算机是怎么进行加法运算的?_第12张图片
全加器

这样就构成了一次完整的加法,全加器简化为下图

计算机是怎么进行加法运算的?_第13张图片
全加器简图.png

拼装

现在在把全加器拼装在一起,每一次的进位结果链接到下一次的进位,最后一位的进位结果连接上灯泡,再把每一位的加和结果连接上灯泡,第一位的进位输入用地线连接,所以第一位的进位为0


计算机是怎么进行加法运算的?_第14张图片
八位加法器
计算机是怎么进行加法运算的?_第15张图片
八位加法器简图
计算机是怎么进行加法运算的?_第16张图片
八位加法器简图

至此就完成了一个八位的加法器

你可能感兴趣的:(计算机是怎么进行加法运算的?)