從二進(jìn)制到邏輯門:哲學(xué)中誕生的計(jì)算理論

? 歡迎來(lái)到神奇的01世界 ?

二進(jìn)制

二進(jìn)制來(lái)自哲學(xué),自然萬(wàn)物兩兩相對(duì)宾娜,白天與黑夜批狐、太陽(yáng)和月亮、蒼天與大地前塔、男人和女人嚣艇、寒冷與炎熱、甘甜和苦澀……我國(guó)傳統(tǒng)文化中的陰陽(yáng)學(xué)說(shuō)华弓、太極八卦食零,都是在講這些自然的本質(zhì)。

不光中國(guó)寂屏,在很久很久以前贰谣,世界各地的文明也都或多或少意識(shí)到了二進(jìn)制的意義娜搂,只是除了參悟哲學(xué)道理,一直沒(méi)有用到數(shù)學(xué)中去吱抚。

直到17~18世紀(jì)涌攻,數(shù)學(xué)上的二進(jìn)制才由萊布尼茨首次提出。萊布尼茨首先是位偉大的哲學(xué)家频伤,至簡(jiǎn)的理念始終貫穿在他的哲學(xué)和數(shù)學(xué)研究中恳谎。他認(rèn)為,任何數(shù)字都可以在0和1的基礎(chǔ)上產(chǎn)生憋肖。他對(duì)中國(guó)的哲學(xué)文化有著十分濃厚的興趣因痛,當(dāng)了解到《易經(jīng)》時(shí),不禁感嘆其中充滿智慧的符號(hào)系統(tǒng)和他的二進(jìn)制理論竟如此相仿[1]岸更。

那么鸵膏,“逢2進(jìn)1”的二進(jìn)制如何表示數(shù)字呢?我們知道怎炊,對(duì)于一個(gè)十進(jìn)制數(shù)谭企,從最右側(cè)的個(gè)位開(kāi)始,越往高位评肆,數(shù)位上的數(shù)字所代表的值越大债查,相鄰數(shù)位上相同的數(shù)字所代表的值相差10倍。比如1024中瓜挽,個(gè)位上的4代表3盹廷,十位上的2代表20,千位上的1則代表1000久橙,用數(shù)學(xué)語(yǔ)言表達(dá)就是:
1024 = 1×10^3 + 0×10^2 + 2×10^3 + 4×10^4

總結(jié)而言俄占,就是從右往左數(shù),第n位上的數(shù)字所代表的值淆衷,是該數(shù)字與10n-1的乘積缸榄。二進(jìn)制示數(shù)也遵循這一規(guī)則。對(duì)于一個(gè)全是1的二進(jìn)制數(shù)祝拯,從右往左甚带,第1位表示20,第2位表示21鹿驼,第3位表示22欲低,第4位表示23,第5位表示24畜晰,以此類推砾莱,第11位表示210,即1024凄鼻。

下表羅列了部分常用的二進(jìn)制數(shù)腊瑟,在計(jì)算機(jī)領(lǐng)域聚假,為了方便閱讀和處理,常常會(huì)以4位為單位在二進(jìn)制串前補(bǔ)零闰非。

十進(jìn)制數(shù) 二進(jìn)制形式 補(bǔ)零后的二進(jìn)制形式
0 0 0000
1 1 0001
2 10 0010
3 11 0011
4 100 0100
5 101 0101
6 110 0110
7 111 0111
8 1000 1000
9 1001 1001
16 1 0000 0001 0000
32 10 0000 0010 0000
64 100 0000 0100 0000
128 1000 0000 1000 0000
256 1 0000 0000 0001 0000 0000
512 10 0000 0000 0010 0000 0000
1024 100 0000 0000 0100 0000 0000

萊布尼茨還設(shè)想過(guò)一種可以進(jìn)行二進(jìn)制加法的機(jī)械計(jì)算器膘格,這種機(jī)器需要有一排可以開(kāi)閉的洞口,洞口打開(kāi)表示1财松,洞口關(guān)閉表示0瘪贱,通過(guò)往洞中扔小彈珠表示加法,每個(gè)洞中最多只能存放1顆彈珠辆毡,每滿2顆它們就會(huì)一起從機(jī)器中滾出來(lái)菜秦,洞口也相應(yīng)關(guān)閉,高一位洞口則打開(kāi)舶掖。

一種可行的萊布尼茨二進(jìn)制加法器(圖片來(lái)自https://woodgears.ca/marbleadd/index.html)

布爾代數(shù)

萊布尼茨堅(jiān)信球昨,人類的思想和數(shù)字一樣可以化繁為簡(jiǎn)——所有思想都可以分解為數(shù)量不多的簡(jiǎn)單思想。這些簡(jiǎn)單思想通過(guò)一些既定規(guī)律眨攘,可以組成任意的復(fù)雜思想主慰,就像數(shù)學(xué)運(yùn)算一樣。當(dāng)兩個(gè)人發(fā)生了爭(zhēng)執(zhí)鲫售,他們可以把自己的觀點(diǎn)通過(guò)數(shù)學(xué)計(jì)算的方式梳理出來(lái)共螺,誰(shuí)對(duì)誰(shuí)錯(cuò)就一目了然了。

為了“計(jì)算”思想龟虎,萊布尼茨闡述了后來(lái)被稱為合攘Ы鳌(conjunction)、析壤鹜住(disjunction)、否定(negation)等的邏輯運(yùn)算規(guī)則拱雏,成為數(shù)理邏輯(mathematical logic)最早的探索者之一棉安。

但邏輯運(yùn)算在數(shù)學(xué)上的系統(tǒng)性定義,要等到19世紀(jì)由英國(guó)數(shù)學(xué)家喬治·布爾(George Boole)首次提出铸抑。布爾分別在1847年和1854年發(fā)表了著名的《邏輯的數(shù)學(xué)分析》和《思維規(guī)律的研究》贡耽,將數(shù)學(xué)中的代數(shù)方法引入到邏輯學(xué)中,被后人稱為布爾代數(shù)(Boolean algebra)鹊汛,邏輯運(yùn)算因而也叫布爾運(yùn)算蒲赂。

喬治·布爾(George Boole),1815-1864刁憋,英國(guó)數(shù)學(xué)家滥嘴、哲學(xué)家、邏輯學(xué)家至耻。(圖片來(lái)自維基百科)

下面通過(guò)一個(gè)例子介紹簡(jiǎn)單一下邏輯運(yùn)算若皱,假設(shè)有X镊叁、Y兩個(gè)命題。

X:?jiǎn)讨巍げ紶柊l(fā)明了二進(jìn)制走触。
Y:?jiǎn)讨巍げ紶杽?chuàng)立了布爾代數(shù)晦譬。

顯然,X命題是錯(cuò)的互广,Y命題是對(duì)的敛腌。在邏輯學(xué)中,我們稱:X命題為假惫皱,Y命題為真迎瞧。如果用連詞將X、Y兩句話連起來(lái)說(shuō)呢逸吵?

比如:?jiǎn)讨巍げ紶柊l(fā)明了二進(jìn)制且創(chuàng)立了布爾代數(shù)凶硅。這句話是錯(cuò)的,即“X且Y”的組合命題為假扫皱。

再比如:?jiǎn)讨巍げ紶柊l(fā)明了二進(jìn)制或創(chuàng)立了布爾代數(shù)足绅。這句話是對(duì)的,即“X或Y”的組合命題為真韩脑。

這就是邏輯學(xué)中的合取與析取氢妈,也稱邏輯與和邏輯或。

當(dāng)然段多,也有對(duì)單個(gè)命題的邏輯運(yùn)算首量,比如:?jiǎn)讨巍げ紶枦](méi)有發(fā)明二進(jìn)制。這句話是對(duì)的进苍,即“非X”為真加缘。

這就是邏輯學(xué)中的否定,也稱邏輯非觉啊。

與拣宏、或、非是3種最基本杠人、最常用的邏輯運(yùn)算勋乾。將它們組合起來(lái),還可以形成與非嗡善、或非辑莫、異或、同或等復(fù)雜邏輯運(yùn)算罩引。歷史上各吨,布爾和許多其他邏輯學(xué)家曾使用過(guò)各種層出不窮的符號(hào)來(lái)表示它們,如今蜒程,我們常用下表中的表達(dá)形式绅你。

邏輯運(yùn)算 英文縮寫 表達(dá)式
AND X·Y
OR X+Y
NOT \overline{X}
與非 NAND \overline{X·Y}
或非 NOR \overline{X+Y}
異或 XOR X⊕Y
同或 XNOR X⊙Y

其中伺帘,異或和同或其實(shí)意如其名,只是表達(dá)式有點(diǎn)抽象忌锯,它們的展開(kāi)式十分容易理解:
\begin{cases} X⊕Y = X·\overline{Y} + \overline{X}·Y \\ X⊙Y = X·Y + \overline{X}·\overline{Y} \end{cases}

而邏輯命題的真假像極了二進(jìn)制中的1和0伪嫁,布爾代數(shù)自然而然選擇用1表示真、0表示假偶垮。

經(jīng)過(guò)簡(jiǎn)單的邏輯推演张咳,我們就能得到這些邏輯運(yùn)算在所有情況下的結(jié)果:

X Y 非X 與非 或非 異或 同或
0 0 0 0 1 1 1 0 1
0 1 0 1 1 1 0 1 0
1 0 0 1 0 1 0 1 0
1 1 1 1 0 0 0 0 1

不難發(fā)現(xiàn),邏輯運(yùn)算和二進(jìn)制運(yùn)算有著極高的一致性似舵,除了有點(diǎn)違反直覺(jué)的1+1=1

邏輯 與 \begin{cases} 0·0=0 \\ 0·1=0 \\ 1·1=1 \end{cases}

邏輯或 \begin{cases} 0+0=0 \\ 0+1=1 \\ 1+1=1 \end{cases}

更巧合的是脚猾,邏輯運(yùn)算和數(shù)學(xué)運(yùn)算一樣滿足交換律、結(jié)合律和分配律等各種運(yùn)算規(guī)則砚哗,比如:
\begin{cases} X·Y=Y·X \\ X+Y=Y+X \\ X·(Y·Z)=(X·Y)·Z \\ X+(Y+Z)=(X+Y)+Z \\ (X+Y)·Z=X·Z+Y·Z \end{cases}

數(shù)字電路

20世紀(jì)龙助,隨著繼電器電路的發(fā)展,許多科學(xué)家開(kāi)始將二進(jìn)制蛛芥、布爾代數(shù)和電路聯(lián)系到一起提鸟,最終,由美國(guó)一位名為克勞德·香農(nóng)(Claude Shannon)的數(shù)學(xué)家做出了完整闡釋仅淑。1938年称勋,就讀于麻省理工學(xué)院的香農(nóng)發(fā)表了他那篇著名的碩士論文《繼電器與開(kāi)關(guān)電路的符號(hào)分析》,奠定了數(shù)字電路的理論基礎(chǔ)涯竟。

克勞德·艾爾伍德·香農(nóng)(Claude Elwood Shannon)赡鲜,1916-2001,美國(guó)數(shù)學(xué)家庐船、電氣工程師银酬、信息論創(chuàng)始人。(圖片來(lái)自維基百科)

開(kāi)關(guān)電路就是有接通和斷開(kāi)兩種狀態(tài)的電路醉鳖,繼電器電路就是一種典型的開(kāi)關(guān)電路捡硅。當(dāng)我們用X、Y等字母表示開(kāi)關(guān)電路盗棵,將兩者串聯(lián)就可以表示邏輯與,將兩者并聯(lián)就可以表示邏輯或北发。

香農(nóng)的邏輯電路

那么邏輯非如何如何實(shí)現(xiàn)呢纹因?還記得有兩個(gè)靜觸點(diǎn)的電磁繼電器嗎奢方?如果X表示常閉觸點(diǎn)所在的工作電路再芋,\overline{X}便是常開(kāi)觸點(diǎn)所在的工作電路,兩者的通斷永遠(yuǎn)互斥瓢喉。

有了與狱庇、或惊畏、非3種基礎(chǔ)邏輯電路恶耽,異或等復(fù)雜邏輯電路也就不難搭建了。

如此一來(lái)颜启,電路就徹底數(shù)字化了偷俭,原本物理的連接可以用數(shù)學(xué)來(lái)表示,是為數(shù)字電路缰盏。香農(nóng)認(rèn)為涌萤,基于布爾代數(shù),再?gòu)?fù)雜的電路都可以用表達(dá)式條理清晰地設(shè)計(jì)出來(lái)口猜,更重要的是可以等效化簡(jiǎn)负溪。香農(nóng)的研究成為后來(lái)二進(jìn)制機(jī)電計(jì)算機(jī)和電子計(jì)算機(jī)強(qiáng)大的理論支柱。

邏輯門

邏輯電路發(fā)展成熟后济炎,工程師們更多地把它們作為一種電路中的元器件(而不是電路本身)使用川抡。他們不關(guān)心這些元器件的內(nèi)部實(shí)現(xiàn),更關(guān)注當(dāng)代表0或1的信號(hào)從它們的輸入端進(jìn)去须尚,從輸出端出來(lái)的是0還是1崖堤。這種通過(guò)邏輯電路實(shí)現(xiàn)二進(jìn)制信號(hào)轉(zhuǎn)換的元器件稱為邏輯門(logic gate),門的概念很形象恨闪,二進(jìn)制數(shù)據(jù)可以從門通過(guò)倘感,也可能被門擋住,龐雜的計(jì)算機(jī)電路正是靠著一扇扇這樣的門組合而成的咙咽。下圖為IEEE和IEC[2]標(biāo)準(zhǔn)中規(guī)定的邏輯門符號(hào)老玛,統(tǒng)一的矩形表示更有利于繪制復(fù)雜的集成電路,信號(hào)從矩形左側(cè)進(jìn)入钧敞,從矩形右側(cè)輸出蜡豹。

邏輯門的符號(hào)表示

組合邏輯電路

邏輯門像一塊塊標(biāo)準(zhǔn)化的積木,我們可以用這些積木靈活地搭建出實(shí)現(xiàn)各種功能的組合邏輯電路溉苛。舉個(gè)最簡(jiǎn)單的例子——二進(jìn)制加法器镜廉。要實(shí)現(xiàn)兩個(gè)二進(jìn)制數(shù)的相加,首先要實(shí)現(xiàn)單個(gè)數(shù)位的兩兩相加愚战。用A和B表示兩個(gè)二進(jìn)制數(shù)某一位上的值娇唯,Cin表示來(lái)自低位的進(jìn)位值,S和Cout表示A+B+Cin之后該位的值和向高位產(chǎn)生的進(jìn)位值寂玲,得單數(shù)位的加法真值表:

A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

用2個(gè)異或門和3個(gè)與非門即可實(shí)現(xiàn)這一邏輯塔插,有興趣的讀者可以取幾組值驗(yàn)證一下。二進(jìn)制數(shù)有多少位拓哟,就需要多少個(gè)圖中的邏輯電路想许,相鄰數(shù)位的低位Cout與高位Cin相連,最低位的Cin永遠(yuǎn)為0。

單數(shù)位二進(jìn)制加法邏輯電路

減法以及其他更復(fù)雜的運(yùn)算流纹,乃至控制邏輯也可以如法炮制糜烹。

最重要的是,開(kāi)關(guān)電路僅僅是邏輯電路的實(shí)現(xiàn)途徑之一漱凝,其實(shí)不論任何材料疮蹦,所組成的基礎(chǔ)元件只要能表達(dá)出兩種狀態(tài)、能在兩種狀態(tài)之間切換碉哑,并能將狀態(tài)傳遞給其他基礎(chǔ)元件挚币,都可以用來(lái)實(shí)現(xiàn)邏輯電路以及邏輯門。邏輯門一旦實(shí)現(xiàn)扣典,二進(jìn)制計(jì)算機(jī)的建造就像搭積木一樣簡(jiǎn)單了妆毕。這種基礎(chǔ)元件的等效性,是可以用不同材料來(lái)建造計(jì)算機(jī)的本質(zhì)原因贮尖。在本章笛粘,我們甚至?xí)?jiàn)到純機(jī)械的邏輯門,那是建筑二進(jìn)制計(jì)算機(jī)的第一批積木湿硝,它們尚與電路和電子無(wú)關(guān)薪前,而是由鋼鐵制成的。

參考文獻(xiàn)


  1. 關(guān)于萊布尼茨是獨(dú)立發(fā)明的二進(jìn)制关斜,還是受了《易經(jīng)》啟發(fā)的爭(zhēng)論由來(lái)已久示括,事實(shí)上,二進(jìn)制在很多文化中都早有出現(xiàn)痢畜,也有很多先人對(duì)它進(jìn)行過(guò)思考和探討垛膝,二進(jìn)制是人類文明發(fā)展到一定程度的必然結(jié)果,只是需要某個(gè)人把它系統(tǒng)地整理出來(lái)而已丁稀,而萊布尼茨就是這個(gè)人吼拥。 ?

  2. IEC:國(guó)際電工委員會(huì)(International Electrotechnical Commission),世界上成立最早的電工標(biāo)準(zhǔn)化機(jī)構(gòu)线衫,在電子電氣領(lǐng)域制定國(guó)際標(biāo)準(zhǔn)凿可。 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者授账。
  • 序言:七十年代末枯跑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子白热,更是在濱河造成了極大的恐慌全肮,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棘捣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)乍恐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門评疗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人茵烈,你說(shuō)我怎么就攤上這事百匆。” “怎么了呜投?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵加匈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我仑荐,道長(zhǎng)雕拼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任粘招,我火速辦了婚禮啥寇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洒扎。我一直安慰自己辑甜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布袍冷。 她就那樣靜靜地躺著磷醋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪胡诗。 梳的紋絲不亂的頭發(fā)上邓线,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音乃戈,去河邊找鬼褂痰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛症虑,可吹牛的內(nèi)容都是我干的缩歪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谍憔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼匪蝙!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起习贫,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逛球,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后苫昌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體颤绕,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奥务。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片物独。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖氯葬,靈堂內(nèi)的尸體忽然破棺而出挡篓,到底是詐尸還是另有隱情,我是刑警寧澤帚称,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布官研,位于F島的核電站,受9級(jí)特大地震影響闯睹,放射性物質(zhì)發(fā)生泄漏戏羽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一瞻坝、第九天 我趴在偏房一處隱蔽的房頂上張望蛛壳。 院中可真熱鬧,春花似錦所刀、人聲如沸衙荐。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)忧吟。三九已至,卻和暖如春斩披,著一層夾襖步出監(jiān)牢的瞬間溜族,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工垦沉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留煌抒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓厕倍,卻偏偏與公主長(zhǎng)得像寡壮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讹弯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 今天组民,騎摩拜一個(gè)小時(shí)棒仍。雖然吃了很多灰,但感覺(jué)身體輕了好幾斤臭胜。 等孩子上培訓(xùn)課莫其,正好有一個(gè)小時(shí)的空檔癞尚。于是,在路邊找...
    容玲閱讀 355評(píng)論 6 3
  • 沉默很久以后榜配,對(duì)方說(shuō)否纬,那你早點(diǎn)洗澡休息吧。她直接按了紅色的結(jié)束通話鍵蛋褥。 電話里討論的是婚禮 。自己一心所得的幸福睛驳,...
    書(shū)蟲(chóng)小言閱讀 524評(píng)論 0 2
  • l戰(zhàn)略地圖 戰(zhàn)略地圖烙心,以組織的共同愿景與戰(zhàn)略為內(nèi)核,運(yùn)用綜合與平衡的思想乏沸,依據(jù)組織結(jié)構(gòu)淫茵,將公司的愿景與戰(zhàn)略轉(zhuǎn)化為下...
    Smart熊大閱讀 3,665評(píng)論 0 3