我們不久前談到牛頓和萊布尼茨的微積分糾紛,萊布尼茨發(fā)明的標志被普遍認為更全面,適用范圍更廣。
作為17世紀最偉大的數(shù)學天才之一,牛頓與萊布尼茨堪稱是數(shù)學界的雙子星,互相耀映。
與牛頓不同,萊布尼茨的本質(zhì)專業(yè)是一名律師,經(jīng)常往返于各大城鎮(zhèn),可能是坐在馬車上太過無聊,又不能像我們一樣刷手機,所以萊布尼茨非常喜歡在馬車上進行思考,他的許多的公式 都是在顛簸的馬車上完成的。他們家祖孫三代都在政府供職,所以他經(jīng)常自稱為男爵,彰顯自己的貴族身份。
與牛頓一樣,萊布尼茨也是一個多面手,牛頓浸淫于神學無法自拔,而萊布尼茨則在哲學上具有卓越的貢獻,“樂觀主義”就是他提出來的,伏爾泰為了和他對著干就提出了“悲觀主義”。萊布尼茨經(jīng)常說:“我們的宇宙,在某種意義上是上帝所創(chuàng)造的最好的一個”。 他和笛卡爾 、斯賓諾莎被認為是十七世紀三位最偉大的理性主義哲學家。
除此之外,萊布尼茨對于中華文化非常感興趣,他曾經(jīng)從一些前往過中國傳教的教士那里接觸到中國文化,之前也從馬可·波羅引起的東方熱留下的影響中也了解過中國文化。法國漢學大師若阿基姆·布韋更是和萊布尼茨介紹了《周易》和八卦。萊布尼茨認為古代中國的“禮”、“道”、“太極”等因素構(gòu)成了支配宇宙的一種精神力量,他對意大利傳教士利瑪竇提出的中國傳統(tǒng)形而上學可以與基督教相統(tǒng)一的觀點十分欣賞,甚至親自撰文予以捍衛(wèi)。
說到這里,就要聊到萊布尼茨的另外一項最為卓越的發(fā)明——二進制,萊布尼茨曾說“陰”與“陽”基本上就是他的 二進制的中國版。他曾斷言:“二進制乃是具有世界普遍性的、最完美的邏輯語言”。
為什么說萊布尼茨的二進制是他另外一項最為偉大的發(fā)明,明明我們現(xiàn)在用的都是十進制。
首先萊布尼茨為什么會發(fā)明二進制,據(jù)說這可能是因為宗教的力量。他在寫給魯?shù)婪颉W古斯都公爵的信中這樣提到:(有一個概念)不容易傳授給異教徒:全能的上帝從無創(chuàng)造有?,F(xiàn)在我們可以說,數(shù)字的起源是世上能最好展示和說明這種力量的事物,它以“一”和“零”或者說“無”的形式呈現(xiàn),既樸素又簡練。
簡單來說,他認為“0”和“1”是這個世界上最偉大的數(shù)字,所以他用數(shù)0表示空位,數(shù)1表示實位。這樣一來,所有的自然數(shù)都可以用這兩個數(shù)來表示了。比如1=00000001、3=00000011、5=00000101。
而2進制的加減乘除運算大家可以去網(wǎng)絡上搜尋一下,所以如果有人說1+1=10,不要說人家傻,人家可能用的是二進制。
但自1687年,牛頓力學統(tǒng)治整個科學界近200年。而萊布尼茨創(chuàng)立的二進制在那個年代不但用不上,普通人還根本看不懂,就這樣沉寂了幾百年,直到一個叫“馮諾伊曼”的人讓2進制重見天日,并且發(fā)光發(fā)熱。
如果把互聯(lián)網(wǎng)比作一棟大廈,那么二進制就是構(gòu)建這座大廈的磚石。
20世紀,隨著科技的日益進步,所需的計算量日益巨大,靠人工已經(jīng)無法滿足,雖然在此之前已經(jīng)誕生了機械計算機,但還是人去操作機器,還沒有實現(xiàn)人與機器的對話。所以當時的科學家便開始構(gòu)想設計電子計算機,代替人工運算。
1642年,帕斯卡發(fā)明第一臺機械計算機——帕斯卡加法器
1944年8月,在IBM和美國海軍部的支持下,從1937年開始研發(fā)的艾肯成功研發(fā)了世界上第一臺通用自動計算機——馬克1號,即自動程控計算機。該計算機使用了3000多個繼電器,因而又稱繼電器計算機。采用十進制23位數(shù)字的加減計算時間為0.3秒,乘法6秒,除法11.4秒。馬克1號計算機長15.5米,高2.4米,重達5噸,有76萬個零件,運行時的聲音非常大。雖然它采用的不是電子控制,(所以它依然需要借助電流進行運算,最關鍵的部件采用繼電器組成,馬克1號上安裝了大約3000個繼電器。繼電器接通電路表示“1”,繼電器斷開則表示“0”)但仍然被普遍認為是電子計算機的開山鼻祖。
馬克一號
馬克一號是世界上第一部大尺度自動數(shù)位電腦,被認為是第一部萬用型計算機。而真正意義上的通用型電子計算機出現(xiàn)于1946年2月14日,名為ENIAC,它是世界上第一臺通用計算機,能夠重新編程,解決各種計算問題。
當時正值二戰(zhàn)時期,那個時候如果新式火炮要發(fā)射到指定地點,需要計算火炮的彈道表。這需要進行大量計算。一張彈道表需要計算近4000條彈道,可以說工作量特別巨大。
一發(fā)炮彈發(fā)射出去,需要100多人用一種手搖計算機算個不停,還經(jīng)常出錯,費力不討好。當時任職賓夕法尼亞大學莫爾電機工程學院的莫希利于1942年提出了試制第一臺電子計算機的初始設想——“高速電子管計算裝置的使用”,期望用電子管代替繼電器以提高機器的計算速度。
美國軍方得知這一設想后,立即撥款成立了一個以莫希利、??颂貫槭椎难兄菩〗M。終于在1946年2月14日,世界上第二臺電子計算機,世界上第一臺通用計算機埃歷阿克”(ENIAC,譯成中文是“電子數(shù)字積分和計算機”)誕生于美國賓夕法尼亞大學。
ENIAC是世界上發(fā)明的第一臺電子計算機,當時它仍采用的是十進制。埃歷阿克雖然威力強大,但是它畢竟還很不完善,比如存在著耗電多、費用高的缺點。它的耗電量超過174千瓦,那些個電子管發(fā)光又發(fā)熱,平均每隔7分鐘要損壞一只。雖然當初只花了軍械部40萬元的研制費用,然而維護它的費用后來竟超過200萬之巨!埃歷阿克最致命的缺點是程序與計算兩分離。指揮埃歷阿克2萬只電子管工作的程序指令,被存放在機器的外部電路里。需要計算某個題目前,使用時必須把數(shù)百條線路用手接通,像一群電話接線員那樣手忙腳亂地忙活好幾天,才能進行幾分鐘運算。
而采用十進制的埃歷阿克因為計算特別繁瑣,所以計算速度一直不算非常理想。這個時候馮諾伊曼出來了。
兒時的諾伊曼
其實在此之前,物理學和電子學科學家們就在爭論制造可以進行數(shù)值計算的機器應該采用什么樣的結(jié)構(gòu)。人們被十進制這個人類習慣的計數(shù)方法所困擾,深陷于十進制的泥沼無法自拔。20世紀30年代中期,馮諾依曼就已經(jīng)大膽的提出,拋棄十進制,采用二進制作為數(shù)字計算機 的數(shù)制基礎。同時,他還說預先編制計算程序,然后由計算機來按照人們事前制定的計算順序來執(zhí)行數(shù)值計算工作。
而埃歷阿克身上所展現(xiàn)的缺陷,給了馮·諾依曼發(fā)揮的舞臺,他起草一份新的設計報告,要對這臺電子計算機進行脫胎換骨的改造。他把新機器的方案命名為“離散變量自動電子計算機”。
當時改造第一臺極其復雜計算機的馮·諾依曼
1945年6月,馮·諾依曼與戈德斯坦、勃克斯等人,為埃德瓦克方案聯(lián)名發(fā)表了計算機史上著名的“101頁報告”。這份報告奠定了現(xiàn)代電腦體系結(jié)構(gòu)堅實的根基,直到今天,仍然被認為是現(xiàn)代電腦科學發(fā)展里程碑式的文獻。報告明確規(guī)定出計算機的五大部件(輸入系統(tǒng)、輸出系統(tǒng)、存儲器、運算器、控制器),并用二進制替代十進制運算,大大方便了機器的電路設計。這套方案的革命意義在于“存儲程序”──程序也被當作數(shù)據(jù)存進了機器內(nèi)部,以便電腦能自動依次執(zhí)行指令,再也不必去接通什么線路。
101頁報告扉頁
人們后來把根據(jù)這一方案思想設計的機器統(tǒng)稱為“諾依曼機”。即使計算機發(fā)展迭代這么多年,如今我們已經(jīng)即將要邁進5G的門坎,可是計算機的設計思路依然沒能夠跳出諾依曼機的掌心。在這個意義上,馮·諾依曼是當之無愧的“計算機之父”。
為什么會想到利用二進制呢?電子計算機出現(xiàn)以后,使用電子管來表示十種狀態(tài)過于復雜,并且所有的電子計算機中只有兩種基本的狀態(tài),開和關。也就是說,電子管的兩種狀態(tài)決定了以電子管為基礎的電子計算機采用二進制來表示數(shù)字和數(shù)據(jù)。二進制與十進制的區(qū)別在于數(shù)碼的個數(shù)和進位規(guī)律有很大的區(qū)別,顧名思義,二進制的計數(shù)規(guī)律為逢二進一,是以2為基數(shù)的計數(shù)體制。10這個數(shù)在二進制和十進制中所表示的意義完全不同,在十進制中就是我們通常所說的十,在二進制中,其中的一個意義可能是表示一個大小等價于十進制數(shù)2的數(shù)值。
計算機中的進制與編碼
所以與十進制數(shù)相比,二進制數(shù)的運算規(guī)則要簡單得多,這不僅可以使運算器的結(jié)構(gòu)得到簡化,而且有利于提高運算速度。
用雙穩(wěn)態(tài)電路表示二進制數(shù)字0和1是很容易的事情。計算機使用二進制進行編碼,而不是我們熟悉的十進制,最重要的原因是二進制物理上更容易實現(xiàn)。因為電子器件大多具有兩種穩(wěn)定狀態(tài)。比如晶體管的導通和截止,電壓的高和低,磁性的有和無等。而找到一個具有十個穩(wěn)定狀態(tài)的電子器件是很困難的。使用二進制還有運算簡單的優(yōu)點。十進制有55種求和與求積的運算規(guī)則,二進制僅有各有3種,這樣可以簡化運算器等物理器件的設計。另外,計算機的部件狀態(tài)少,可以增強整個系統(tǒng)的穩(wěn)定性。
二進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換相當容易。人們使用計算機時可以仍然使用自己所習慣的十進制數(shù),而計算機將其自動轉(zhuǎn)換成二進制數(shù)存儲和處理,輸出處理結(jié)果時又將二進制數(shù)自動轉(zhuǎn)換成十進制數(shù),這給工作帶來極大的方便。
用二進制表示數(shù)據(jù)具有抗干擾能力強,可靠性高等優(yōu)點。因為每位數(shù)據(jù)只有高低兩個狀態(tài),當受到一定程度的干擾時,仍能可靠地分辨出它是高還是低。
而二進制代碼語言則稱為機器語言,計算機可以直接識別,不需要進行任何翻譯的語言。每臺機器的指令,其格式和代碼所代表的含義都是硬性規(guī)定的,故稱之為面向機器的語言,也稱為機器語言。它是第一代的計算機語言,機器語言對不同型號的計算機來說一般是不同的。
直接用二進制代碼指令表達的計算機語言,指令是用0和1組成的一串代碼,它們有一定的位數(shù),并分成若干段,各段的編碼表示不同的含義,例如某臺計算機字長為16位,即有 16個二進制數(shù)組成一條指令或其它信息。16個0和1可組成各種排列組合,通過線路變成電信號,讓計算機執(zhí)行各種不同的操作。
二進制文件中的中間代碼
二進制數(shù)可以分為有符號數(shù)和無符號數(shù),有符號數(shù),又可以分為原碼、反碼、補碼。2進制在計算機里有它特定的表示方法,以及對應的匯編代碼。
當CPU從指令寄存器拿到一條指令地址,它會根據(jù)讀出來數(shù)值進行解釋,加到AL寄存器中。這個指令實際上既包含了控制,又包含了數(shù)據(jù)。
所以計算機在計算3+8的時候,就是一個類似的過程。根據(jù)計算機架構(gòu)的不同,可能將計算放置到寄存器中計算,或者將計算放置到內(nèi)存中計算,或者在某特定的計算單元中計算。
每個運算單元都有自己特有的指令集,以便對輸入的數(shù)據(jù)進行加工,產(chǎn)生輸出。比如CPU,GPU,以及各種可編程接口芯片。 同一個二進制片段數(shù)據(jù),在不同的模塊或者運算單元中,都會有不同的解釋??赡芙忉尀閿?shù)據(jù),也可能解釋為控制指令。
各位明白了,真正天才的發(fā)明無論過了多少年都不會蒙塵的,感謝萊布尼茨做出來如此卓越的發(fā)明,我們?nèi)缃裼弥碾娔X、手機都是通過二進制來進行運算的,二進制構(gòu)建了整個網(wǎng)絡時代。
我們現(xiàn)在享受到的一切科技成果,都是先人不懈的努力探索,感謝他們的付出,帶給我們?nèi)绱嗣篮玫纳睿?/p>
1.《1 7用二進制怎么表示看這里!1+1真的等于10,二進制你真的了解嗎?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《1 7用二進制怎么表示看這里!1+1真的等于10,二進制你真的了解嗎?》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/2158346.html