从物理世界到数字世界,一直用的是抽象思维。

从分立元器件,电阻,电容,电感抽象成数字逻辑电路;

到数字逻辑电路中的与门,非门,与非门等等进一步抽象成高级的逻辑电路;

高级的逻辑电路包括加法器,乘法器,计数器,定时器,寄存器,译码器等等;

我们都知道3x3=9,那你知道计算机是如何计算3x3的吗?

它的计算原理是这样的,首先需要把十进制的3转化成二进制,然后再来计算这两个二进制相乘,这是它的计算步骤。

打开网易新闻 查看精彩图片

把这个结果转化成十进制就是9,那这些步骤具体到底是如何实现的呢?最终依靠的还是晶体管,也就是晶体管构成的各种门电路。

打开网易新闻 查看精彩图片

比如第一步计算两个二进制数相乘,这是所有可能出现的结果,这不正是与门的结果吗?通过与门的真值表可以发现,比如1x1=1,只有给与门输入两个1时,它的输出才是1,用这个与门就可以计算两个二进制数相乘。

打开网易新闻 查看精彩图片

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

我们用代数表示二进制,第一步就是用C分别与AB相乘,所以两个的与门输入都是C,可以这样表示,这两个与门输出的就是这两个结果,同理,B与A的相乘也是用一样的方法,最后就是把它们相加。

打开网易新闻 查看精彩图片

因为这些不是1就是0,所以半加器就可以完成这个工作,关于半加器到底是什么,大家可以看一下之前的文章,它也是由门电路构成的,比如当它的两个输入都是1时,它的加和输出是0,进位输出是1。

打开网易新闻 查看精彩图片

半加器就可以计算这两个数相加的结果,因为这里没有数和它相加,所以这个与门的输出就是结果的第一位,这个半加器的加和输出是结果的第二位,如果是两个一相加,这里会产生进位,所以需要把这个进位输出连接到下一个半加器的输入,这个半加器的加和输出就是结果的第三位,这里还可能产生进位,它的进位输出就是结果的第四位,这样一个二位乘法器就做好了。

打开网易新闻 查看精彩图片

它只能计算三以内的乘法,我们可以试一下3x3,ABCD都是1,这是它的运算过程,最后的输出是1001,正好是十进制的9,证明这个设计是正确的,两位乘法器似乎没什么用,因为它能计算的数太小了,没关系的,我们可以用这种方法开发出更多位的乘法器,这样就能计算更大的数。

打开网易新闻 查看精彩图片

这是一个三位乘法器,它也是先计算乘法,第一行的结果,第二行的结果,第三行的结果,然后就是把它们竖着相加,注意是每两行进行一次相加,因为加法器只能计算两个数相加,先把上面两行进行相加,然后用结果和第三行的数相加,然后就能输出最后的结果了,最后的结果是六位。

打开网易新闻 查看精彩图片

注意,这里的加法器是三位加法器,它可以计算两个三位二进制相加,这个乘法器可以计算7以内的乘法,如果是八位乘法器,可以计算255以内的乘法,而16位乘法器就可以计算65535以内的乘法,最后问一下大家,你知道32位乘法记得计算范围吗?大家可以在评论区或者进群讨论。

对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就行,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取

好了,这期分享到这里就结束啦,如果你对乘法器感兴趣,可以在面包板上用门电路搭建一个乘法器,如果你想再给自己增加点挑战,可以直接用三极管阻容件来搭建,因为门电路也是三极管这些组成的。