計算機的族譜

2021-06-18 13:08:32 字數 3727 閱讀 6373

如果計算機需要給她編寫乙個族譜的話,「1+1=2」大概是會刻在石碑的第一行。肯定會有人反駁不對,應該是「0+1=1」。咋一看,0<1,沒有我「0」,哪來的你「1」,這樣說來確實應該是「0+1=1」。不過仔細推敲下,你會發現負數貌似都比0小,按照上面的理論,族譜第一行還是不要寫了為好,不然寫不下了。

既然是關於族譜的事情,我們還是問問歷史學家比較好。據考古記載,西元前2023年左右,古巴比倫人發明了巴比倫數字,採用60進製,為目前已知的最早的位值制數字系統。

可惜巴比倫數字系統沒有表示0的符號。關於0的出現,歷史上的記錄很多。一種說法也是現代主流的說法,「0」這個數字是印度人在公元5世紀發明的,還有一種說法是瑪雅文明最早發明0這個數字,但是這個文明都是個謎,自然這種說法也是個迷。說乙個令我們中國人興奮的歷史吧,自從西元前4世紀,中國數學家就已經了解負數和零的概念了。公元1世紀的《九章算術》說:「正負術曰:同名相除,異名相益,正無入負之,負無入正之。其異名相除,同名相益,正無入正之,負無入負之。」。就如義大利人斐波納契所說的「在東方中由於數學是以算術為主(西方當時以幾何和邏輯為主),由於運算上的需要,自然地引入了0這個數。」。好吧,數學問題居然被歷史學家解決了,鄙視文科生沒有頭腦的理科生,該醒醒了吧。這樣說來0真的要排到後面了。

前面提到過「0」是為了方便四則運算,應運而生的。那麼四則運算又是什麼時候起源的?四則運算的起源很早,幾乎與數字同時產生,如羅馬數字6寫成vi,即5加1的意思,4寫成iv,即5減去1的意思。在中國古代,四則運算很早就有了。戰國時代李悝(kuī)編寫的一部有關法律方面的著作——《法經》中已有加、減、乘等運算,甚至還有除法運算。

「1+1=2」,看到這裡,突然明白了些什麼?怪不得小學生都可以學習程式設計啊,計算機學了這麼久,才發現一直在跟「1+1=2」較勁。講到這裡,肯定會有人驚呼「nc,計算機這麼多高深的演算法理論,有這麼簡單麼?」。哈哈,莫著急,只是說下她的祖先而已,我們還是猴子變過來的,現在猴子哪能和我們比啊。

從上面的數字演變來看,最開始人類用60進製來表示數字,之後又用10進製,現如今又用2進製來表示計算機的資料。 「萬物之始,大道至簡」,這一句俗語概括的恰到好處。

族譜的第二行,時間跨度可能就比較大了。在數字和四則運算發明之後,人類就能很方便的計算日常很多的行為。比如說,人類通過觀察、記錄天文現象,經過推算總結出來了各種曆法。越來越多的人類行為,需要數字的記錄和大量的數字計算。自然而然,就會產生重複計算的繁瑣問題。上帝創造了人類,給了我們善和惡,這兩個最讓人興奮也是最讓人憎恨的特點。人類的聰明和貪婪,才造就了我們發明創造出了可以代替人們勞動的工具。「算盤」這個中國人發明的最早的計算工具,可以說有理由放到計算機的族譜中。  

中國算盤的雛型是漢代的籌算。設有橫樑,採用上一珠、下四珠的形式,上一珠當五,下一珠當一,「隨手撥珠,便成答數」, 「珠動則數出」,可表現十進位制數,故算盤設計為一四珠算盤。通過算盤的操作口訣,可以方便的進行各種加減運算。

在中國算盤的使用一直延續到了近現代。可以說,算盤大大的減少了人們的計算過程,是計算機歷史的乙個不可或缺的進步。

「帕斯卡」提到這個名字,可能我們的第一印象是大氣壓強。的確他是最早用實驗證實了大氣壓力的存在。不過他還有乙個傳奇的歷史,在2023年,帕斯卡(blaise pascal)發明了世界上第一台加減法計算機。它是利用齒輪傳動原理製成的機械式計算機,通過手搖方式操作運算。這種計算機的操作方式,比起算盤的口訣更接近人的正常思維,也更能做一些複雜的運算。這一思想對以後計算機的發展產生了重大的影響。順便說一下,2023年發明的一種程式語言──pascal語言,就是為了紀念這位先驅,使帕斯卡的英名長留在電腦時代裡。感覺文藝復興時期的歐洲大師,怎麼各種學術穿越。這裡還沒有說帕斯卡是一名著名的詩人。「人只不過是一根蘆葦,是自然界最脆弱的東西,但他是一根有思想的蘆葦。」正是出自他的名言。回想那個時代的牛頓、尤拉、萊布尼茨,每個人貌似都是在不同的學術界各種穿越。總感覺那個時代的這些人是上帝派來的使者,來指引人類前行的。

下面說到的正是萊布尼茨。  前面提到的算盤和帕斯卡的計算機都只能做加減計算,下面這個計算機把4則運算都包含進去了。在2023年,著名的德國數學家萊布尼茲(g.w.leibnitz)製成了第一台能夠進行加、減、乘、除四則運算的機械式計算機。最後,機械式計算機發展造就了手搖的台式計算機,在當時手搖計算機可以說是風靡一時。  

說到萊布尼茨,不得不說的是他提出的「二進位制」數的設計思路。有人說,他的想法來自於東方中國。大約在公元2023年左右某天,友人送給他一幅從中國帶來圖畫,名稱叫做「八卦」,是宋朝人邵雍所摹繪的一張「易圖」。萊布尼茨用放大鏡仔細觀察八卦的每一卦象,發現它們都由陽(—)和陰(--)兩種符號組合而成。他撓有興趣地把8種卦象顛來倒去排列組合,腦海中突然火花一閃──這不就是很有規律的二進位制數字嗎?若認為陽(—)是「1」,陰(--)是「0」,八卦恰好組成了二進位制000到111共8個基本序數。正是在中國人睿智的啟迪下,萊布尼茨最終悟出了二進位制數之真諦。雖然萊布尼茨設計的計算機用的還是十進位制,但他率先系統提出了二進位制數的運算法則,直到今天,二進位制數仍然左右著現代電腦的高速運算。如果萊布尼茨的思想真的是來自中國的話,可以說中國的科學技術對計算機的誕生奠定了堅實的基礎。不過之後計算機的發展離中國就越來越遠了。

另外還要提到乙個人,在 2023年,英國科學家巴貝奇(charles babbage)提出了製造自動化計算機的設想,他所設計的分析機,引進了程式控制的概念。儘管由於當時技術上和工藝上的侷限性,這種機器未能完成製造,但它的設計思想,可以說是現代計算機的雛型。

人類一直渴望發明可以更方便計算的工具,用來探索這個未知世界。但是我們人類會不會想到,這個工具什麼時候能替代我們來探索這個世界哪?這個想法聽起來有點天方夜譚,甚至有點恐怖。萊布尼茨曾經說過「我思故我在」,他的二元論也否定了機器可以替代人的想法。但是到了如今計算機界確實正在發生這種事情。

在來到計算機的近代族譜中,不得不提到的人就是阿蘭.圖靈,這個上帝創造的人類先行者,首先提出了「可計算性」。圖靈在他的重要**中《論可計算數及其在判定問題上的應用》,提到了圖靈機的概念,並且還證明了這樣的機器有能力解決任何可想象的數學難題。圖靈機的提出,為現代計算機的發明提供了堅實的理論基礎。如果沒有圖靈的這篇**,可能之後,人們不會絞盡腦汁發明這種在當時看來的龐然大物,因為大家不知道計算機這東西能不能解決我們的問題,但是圖靈給了我們肯定的答案。

圖靈的故事還沒講完,先來看看另一位大家馮諾依曼。他提出了,數字計算機的數制應該採用二進位制,計算機應該按照程式順序執行。人們把馮諾依曼的這個理論稱為馮諾依曼體系結構。到當前最先進的計算機都採用的是馮諾依曼體系結構。所以馮諾依曼是當之無愧的數字計算機之父。隨著物理科學的進步,電的發明,量子力學的發展,運算的機械部件相繼被繼電器,真空管代替,之後又被速度更快的半導體二極體替代,不管用什麼替代,只是速度的提公升,現代計算機的理論基礎依然是那個時代的大師提出的。

好了再次回到圖靈,這個在計算機界被無數次讚譽也不為過的人。這次看下什麼叫圖靈測試,圖靈測試是測試人在與被測試者(乙個人和一台機器)隔開的情況下,通過一些裝置(如鍵盤)向被測試者隨意提問。問過一些問題後,如果測試人不能確認被測試者30%的答覆哪個是人、哪個是機器的回答,那麼這台機器就通過了測試,並被認為具有人類智慧型。目前還沒有一台機器能夠通過圖靈測試。這是2023年圖靈發表的一篇《機器能思考麼?》的**,正是這篇**為圖靈贏得了一頂桂冠——「人工智慧之父」。講到這裡,就回到了萊布尼茨那個時代的疑問,人類能不能創造出乙個同自己一樣高等的東西,代替我們來探索世界哪?正是因為圖靈的這個回答,上帝估計覺得自己創造人類的地位恐怕要被撼動了,所以讓圖靈早早吞下了那只毒蘋果。

如果說計算機的族譜是個一棵大樹的話,那麼上面所述的就是這棵樹的樹幹。這顆枝繁葉茂的大樹,日後不管如何生長,始終伴隨著人類探索世界的終極夢想。

計算機基礎 計算機的構成

也許有人認為技術人員不需要硬體或計算機底層原理的知識。因為這個層面的一些處理往往已經封裝好,不需要重新進行規劃。然而,事實並非如此,系統構建於硬體與作業系統之上,我們應該對計算機底層原理有一定認識,以避免在研發過程中導致的一系列安全與效能問題。計算機的發展經歷了電子管和電晶體時代 積體電路時代 中小...

計算機的計算

計算機使用二進位制。人們習慣使用十進位制,據說是因為人類的雙手有十根手指頭。與十進位制相比,二進位制有什麼特點呢?在理論上,二進位制與十進位制雖各有千秋,但沒有本質上的區別,計算時,既可以用十進位制,也可以用二進位制。但是,計算機中的二進位制與數學上的二進位制卻有很大的差別。計算機的世界中沒有正負號...

計算機 計算機基礎整理

大學四年浪費的代價。半夜整理東西 cpu 其功能主要是解釋計算機指令以及處理計算機軟體中的資料。cpu由運算器 控制器和暫存器及實現它們之間聯絡的資料 控制及狀態的匯流排構成。差不多所有的cpu的運作原理可分為四個階段 提取 fetch 解碼 decode 執行 execute 和寫回 writeb...