35.
在程理說完后,所有人的目光都火熱起來。
“這……邏輯運(yùn)算我算是看懂了,但是這邏輯運(yùn)算,怎么能做出四則運(yùn)算呢?”很多人都十分不解。
帶著這份不解和好奇,所有人都聚精會(huì)神的看著程理演示。
于是,這個(gè)房間聚集了越來越多的人,最后甚至房間里都塞不下了,連外面通道都擠著很多慕名而來的人。
面對(duì)這么多的人,程理依然沒有任何慌亂,而是按照自己的節(jié)奏,開始組建加法機(jī)起來。
然后程理還一邊組建,一邊對(duì)著算老講解起來。
“為了方便講解,這里我用‘0’這個(gè)符號(hào)代替陰,‘1’這個(gè)符號(hào)代替陽(yáng)?!背汤硎紫鹊馈?p> 因?yàn)檫@個(gè)世界沒有阿拉伯?dāng)?shù)字,而程理已經(jīng)習(xí)慣用阿拉伯?dāng)?shù)字,所以還是首先注明了下。
“要想通過邏輯運(yùn)算,來實(shí)現(xiàn)加法運(yùn)算,首先需要把二進(jìn)制的加法運(yùn)算進(jìn)行分解?!?p> “所以,可以先來看看1位數(shù)的二進(jìn)制加法。”
0+0=0
0+1=1
1+0=1
1+1=10。
這就是1位數(shù)的二進(jìn)制加法,所有情況的羅列表。
比起十進(jìn)制,無疑簡(jiǎn)單很多。
我們可以把上面的二進(jìn)制加法表,做一點(diǎn)小改進(jìn),那就是在結(jié)果統(tǒng)一用兩位數(shù)表示。
就變成了:
0+0=00
0+1=01
1+0=01
1+1=10
“這樣一來,二進(jìn)制數(shù)字的相加結(jié)果是兩位數(shù),分別成為“和”以及“進(jìn)位”?!?p> 程理在算老遞過來的一塊黑板上,寫下了這個(gè)二進(jìn)制加法表。
“如此,我們就可以把二進(jìn)制加法表,拆分成兩個(gè)表。”
第一個(gè)是‘和’表:
0+0=0
0+1=1
1+0=1
1+1=0
“可以看出,這個(gè)‘和’表,就是二進(jìn)制加法表里結(jié)果的末位數(shù)拆出來后的結(jié)果。”
第二個(gè)是‘進(jìn)’表:
0+0=0
0+1=0
1+0=0
1+1=1
“可以看出,這個(gè)‘進(jìn)’表,就是二進(jìn)制加法表里結(jié)果的首位拆出來后的結(jié)果。”
這時(shí)候算老十分敏銳的發(fā)現(xiàn)了,拆分后的‘進(jìn)’表,跟‘與門’邏輯很像!
于是算老有些激動(dòng)道。
“這個(gè)進(jìn)表,跟‘與門’輸出結(jié)果很像?!?p> ‘與門’邏輯是。
兩陰為陰。
兩陽(yáng)為陽(yáng)。
一陰一陽(yáng),則為陰。
陰為0,陽(yáng)為1。
所以實(shí)際上,‘與門’邏輯用0和1表示的話,就是:
0+0=0
0+1=0
1+0=0
1+1=1
而這,正是‘進(jìn)’表的表現(xiàn)形式!
“換句話說,我們可以用‘與門’靈路來進(jìn)行二進(jìn)制加法計(jì)算中,進(jìn)位的計(jì)算!”算老激動(dòng)道。
程理心道,不愧是青靈島上陰陽(yáng)算學(xué)造詣最深的人,竟然這么快就反應(yīng)過來了。
于是程理贊嘆道:“沒錯(cuò),正是如此?!?p> 算老這時(shí)候?qū)⒛抗夥诺健昂汀北砩稀?p> 然后他看了半天,也沒發(fā)現(xiàn),能跟“和”表相符的門靈路。
“二進(jìn)制的‘和’表,要用門靈路實(shí)現(xiàn)比較復(fù)雜,需要好幾個(gè)步驟?!?p> 程理開始了一連串讓人眼花繚亂的操作,一個(gè)個(gè)靈路在程理手中被不斷構(gòu)建出來。
“首先,需要將一個(gè)‘與門’靈路和‘非門’靈路串聯(lián)起來,形成一個(gè)‘與非門’靈路?!?p> ‘與非門’靈路是衍生門靈路,是由“與門”和“非門”串聯(lián)而成,這種串聯(lián)形式,在邏輯運(yùn)算里就是先進(jìn)行“與”邏輯運(yùn)算,再進(jìn)行“非”邏輯運(yùn)算,也就是先與后非。
因?yàn)?,“與”邏輯是:
0+0=0
0+1=0
1+0=0
1+1=1
將這個(gè)邏輯運(yùn)算結(jié)果,再全部用“非”邏輯運(yùn)算一次,就會(huì)得到。
0+0=0→1
0+1=0→1
1+0=0→1
1+1=1→0
而這個(gè),就是與非門的輸出結(jié)果。
“這個(gè)‘與非門’的輸出結(jié)果,跟‘和’表還是不符,所以我們還需要進(jìn)一步堆砌?!?p> “所以,接下來,我們將‘與非門’靈路和‘或門’靈路進(jìn)行并聯(lián)……”
“然后,將并聯(lián)后的靈路,再和一個(gè)‘與門’串聯(lián)起來?!?p> 程理又將靈路進(jìn)一步拼接。
“與非門”和“或門”并聯(lián)后,就會(huì)得到兩個(gè)輸出結(jié)果。
再將這個(gè)并聯(lián)后的靈路和一個(gè)“與門”串聯(lián),那么相當(dāng)于“與非門”和“或門”的輸出結(jié)果,變成了“與門”靈路的輸入數(shù)據(jù)。
我們已經(jīng)知道:
“與非門”的輸出結(jié)果為:1、1、1、0。
“或門”的輸出結(jié)果為:0、1、1、1。
將這兩個(gè)輸出結(jié)果,作為輸入數(shù)據(jù),經(jīng)由1次“與門”邏輯計(jì)算的話,就會(huì)變成。
1+0=0
1+1=1
1+1=1
0+1=0
“而,0、1、1、0,就是我們想要的‘和’表結(jié)果!”
“所以,只要將一個(gè)‘與非門’和一個(gè)‘或門’并聯(lián)后,再和一個(gè)‘與門’串聯(lián),就可以得到一個(gè)二進(jìn)制加法所需要的‘和’表的結(jié)果!”
“而這個(gè)能得出二進(jìn)制加法‘和’表結(jié)果的特殊靈路,也有個(gè)專門的稱呼,叫做‘異或門’靈路!”
在程理擲地有聲的話語(yǔ)結(jié)束后,現(xiàn)場(chǎng)所有人都鴉雀無聲,場(chǎng)上一片寂靜,所有人都被深深震撼到了。
邏輯的魅力,第一次在這個(gè)世界大放異彩。
現(xiàn)場(chǎng)的人,都是有一定陰陽(yáng)算學(xué)造詣的人,所以都能從程理剛演示的繁復(fù)操作中,感覺到無比高深的內(nèi)在道理!
于是,一時(shí)間,每個(gè)人都陷入深深的思索中無法自拔。
程理并沒有在乎那么多,而是繼續(xù)制造自己的加法機(jī)。
這時(shí)候,我們下一步工作就是,把‘與門’和‘異或門’并聯(lián)起來?!?p> “‘與門’輸出進(jìn)位結(jié)果,‘異或門’輸出和結(jié)果?!?p> “這樣一來,我們就得到了一個(gè)半加器。”
“一個(gè)半加器,只能進(jìn)行1位數(shù)的二進(jìn)制加法計(jì)算,而且沒辦法擴(kuò)展。顯然實(shí)用性很低,我們還需要進(jìn)一步改良一下?!?p> 程理一邊說著,又一邊進(jìn)行更復(fù)雜的靈路搭建操作。
漸漸的,地上的靈路越來越復(fù)雜和龐大,不知不覺居然有幾十個(gè)基本邏輯門靈路,被程理用各種方式串聯(lián)并聯(lián)起來,讓周圍人已經(jīng)看得有些眼花繚亂起來了。
“嗯嗯,這樣將兩個(gè)半加器連接起來,再加上一個(gè)進(jìn)位輸入,我們就得到了一個(gè)全加器?!?p> “一個(gè)全加器可以進(jìn)行1位二進(jìn)制加法運(yùn)算,但比起半加器,全加器有了擴(kuò)展空間。
“只要將2個(gè)全加器這樣連接在一起,就可以計(jì)算2位二進(jìn)制計(jì)算……”
“所以,接下來就是數(shù)量的堆疊了,想要實(shí)現(xiàn)8位數(shù)的二進(jìn)制計(jì)算,就一共需要搭建8個(gè)全加器,144個(gè)繼靈器。
“這得花點(diǎn)時(shí)間,你們稍微等我一會(huì)……”
程理開始不停的忙活起來,一臺(tái)這個(gè)世界最原始的靈力計(jì)算機(jī),正在程理手中逐漸形成!
======
?。ㄟ@幾章太難寫了,我基本整個(gè)國(guó)慶假期都在找資料,沒有出去玩,而是捧著幾本編程的書死啃,兔子寫書一向是比較嚴(yán)謹(jǐn)?shù)摹?p> 看在兔子這么認(rèn)真的份上,大家多投點(diǎn)推薦票給兔子吧?。?
骷髏大白兔
關(guān)于書中寫的這段半加器和全加器的制作過程,其實(shí)就是最原始的繼電器計(jì)算機(jī),是比電子管計(jì)算機(jī)更古老的計(jì)算機(jī)。 大家如果有興趣、而且有條件的可以嘗試做一個(gè)全加器出來,而且用到的東西,都是日??梢哉业降氖挛?,其實(shí)挺好玩的。