seegongsik
我的单词本
结构

把门接起来,就成了会加法的机器

上次做的 且、或、非这几个门。把它们接上几个,神奇的是,就成了会加法的机器。这正是电脑做计算的,那个起点。

01

在0和1的世界里,1+1是10

在把加法做成电路之前,
先看看怎么用0和1来加。
0+0是0,
0+1是1。
到这儿都简单。
可1+1呢?
没有2,
就进一位,变成10。
不是十进制的10,
是二进制的 幺零。

¹
1
+ 1
10
没有2,进位变成10(二进制的幺零)

把两个比特加加看。

也就是说,两个比特一加,
出来两个结果。
一个是留在这位上的值,
一个是递到下一位的值。
这两个分别叫,
和,跟进位。

02

和是XOR,进位是AND

神奇的就在这儿。
刚才那条规则,
用上次的门正好做得出来。
和,只有两个不同时才是1,对吧?
那就是XOR(彼此不同)。
进位,只有两个都是1时才是1,对吧?
那就是AND。
两个门就搞定了。

A
0
B
0
半加器
进位 (AND)
0
和 (XOR)
0
= A XOR B  ·  进位 = A AND B
0 + 0 = 00 (进位 0, 0)

半加器 · 把输入打开试试。

把两个比特相加,
给出和跟进位的
这台小机器,
就叫半加器。
就两个门,
做出了世上最简单的,
加法器。

03

把收到的进位也加上,才是真加法

可半加器有个缺口。
加好几位的时候,
从下一位升上来的进位,
也得一起加。
所以输入变成三个。
A、B,
还有从下面收到的进位。
把这些全加起来,就是全加器。

A
0
B
0
收到的进位
0
全加器
进到下一位
0
0
0 + 0 + 0 = 00

全加器 · 三个输入。

全加器其实,
是把两个半加器接在一起。
用小零件做出稍大的零件,
再把它接起来,
做更大的。
这就是造电脑的方式。

04

接上好几个,大数也能加

一个全加器,
只加一位。
那四位、八位的数呢?
简单。
把全加器一个挨一个接起来就行。
把一位的进位,
递给旁边那位的输入。
你亲手加两个数试试。

A
0
0
0
0
0
+ B
0
0
0
0
0
0
0
0
0
0
0
0 + 0 = 0

把两个数打开来加 (4比特)。

把上面一行和中间一行打开,
最下面一行就自己冒出和来。
不是人在算,
是那些门把进位往旁边递,
自己把答案做出来。

05

加法说到底就是门

电脑会算,
其实不是魔法。
就是把且、或、非这些门,
按定好的样子接起来罢了。
一开开关,
电就顺着门流过去,
答案就亮起灯来。

门(且、或、非)
接上两个
半加器(一位加法)
接上两个
全加器(含进位)
接上好几个
大数的加法

从小的到大的。

就这么从小零件,
长出大本事。
下次,
我们去见一种电流过着、
却能把值攥住的电路,
也就是会记住的电路。

一句话总结我们用两个门解了1+1的进位,再把它们接起来,做出了大数的加法。电脑的计算不是魔法,而是把门巧妙接起来的东西。
如果有帮助,请支持我们
结构