這時,吳東趁機說道:“老大,這本計算機基礎教程我已經看得差不多了,有幾個問題想要請教你一下。”
“嗯,你說。
“為什麼在發明電腦的時候,一定要使用二進位制,而不是直接使用我們已經非常習慣和熟悉的十進位制?”吳東問出了自己心中一直的疑問。
李奇一聽也附和道:“對啊,這個問題我也一直沒想明白,老大你給我們詳細說說。”
“老三,你怎麼不問我?我知道為什麼!”張達插言道,他對電腦也有一定的熟悉,並且吳東的入門知識還是他教的,“這主要是因為計算機裡面的元器件只能表示兩種狀態,開,或者關,,在物理上就是連同和斷開,這就是使用二進位制的原因。”
吳東和李奇一聽,覺得老堊二的話也有點道理,頓時將目光看向林鴻,想知道是不是真的是這樣。
林鴻笑道:“老堊二,你這個解釋因果有點顛倒了。並不是因為只能表示兩種狀態才發明二進位制,恰恰相反,是二進位制被證明更適合用來制堊造計算機之後,才去尋找和發明適合二進位制的元器件。”
張達一聽,老臉微微一紅:“這不是差不多麼。”
李奇白了他一眼:“差太多了。”
林鴻繼續解釋道:“在最開始的時候,計算機就相當於是一個計算器,並且其組成完全是機械的,那個時候還沒有軟體的概念,使用的進位制正是十進位制。十進位制畢竟是我們最為熟悉和習慣的進位制,最為接近人類的思考方式。當時的計算機,其原理是使用齒輪表示各個不同的數值,一個齒輪表示一個狀態,例如總共有十個齒輪,分別表示十位數,這十個齒輪用其他裝置級聯起來,小齒輪走一圈,大齒輪便會走一格。”
聽到林鴻這麼說,張達也被吸引住了,他恍然道:“這不就是機械錶的原理嗎?只是機械錶是60進位制的,並且只有兩個等級的齒輪。”
…;聽他這麼一說,吳東和李奇也明白了林鴻所說的那個機械計算機的原理。
“是的,有點類似機械錶。剛開始的時候是機械計算機,但是後來電子技術發展之後,科學家們開始使用電子裝置來制堊作計算機,但是他們發現,使用電子元器件來表示十種狀態有點過於複雜了,於是有人提出使用二進位制來作為計算機的進位制,因為電子管本身只能有兩種狀態,用電子管來制堊作計算機,不但簡單,而且速度非常快。”
“這麼說來,是因為電子管的結構而決定使用二進位制了?”張達問。
“可以這麼理解。在數學家眼中,二進位制和十進位制其實是沒什麼區別的。另外,二進位制本身也足夠簡單,擁有許多非常突出的特性,例如表示簡單,可以簡單實用電壓的高低電平來表示,也可以實用盤面的凹凸來表示這兩種狀態,非常容易實現資料的儲存。此外,二進位制也非常方便進行運算,加減乘這樣的運數學算都可以直接使用電路進行實現,比十進位制要簡單多了。邏輯運算也是這樣,兩個狀態正好可以對應真,和假,……”
計算機使用二進位制來表示資料,的確並不是某個科學家拍腦袋決定的,而是各方面的原因篩選最佳化的結果,可以說,就算是歷堊史再重新進行一遍,最終的結果也必然是這樣,因為這是最優結果,就如同自然進化一樣,是必然的方向。
經過林鴻這麼詳細解釋,張達、吳東和李奇三人這才對二進位制有了一個非常深刻的瞭解,以前許多想不通的疑問也迎刃而解。
例如,在計算機其他場合中,為什麼情願使用十六進位制也不使用十進位制?
聽了林鴻的解釋之後,才明白這依然還是因為最基本的進位制是二進位制的原因,十六進位制和二進位制的轉化非常方便,四位的二進位制數,正好對應一個十六進位制。
“還有另外一個問題。