因為。。。十進位系統需要每一個bit有十種狀態,代表十種不同的情況。。。然後,才能由這些有十種狀態的bit 組合成更複雜的結構,表達更複雜的信息,以便計算機可以進行各種運算。。。

這樣做不是完全不可行,而是會非常複雜,同時容錯性也比較低。。。

現代計算機每個bit 只有0和1兩個狀態,用電路來模擬,只需要高電平、低電平兩種狀態就可以了,如果需要模擬十種狀態,你怎麼設計電路呢?

就算你能設計出電路,如果電路出錯了(考慮到它有十種狀態之多,出錯的可能性顯然大於只有兩種狀態的電路),你怎麼確定是哪裡出錯了,出的是哪一種錯呢?(因為有十種狀態,所以正確的狀態與可能的錯誤狀態的組合有90種那麼多,而兩種狀態的正確錯誤組合只有2種,通過校驗技術可以相對方便的查找甚至恢復錯誤。。。)

說到底,還是人類的電子技術不夠強大,沒法支撐十種狀態的計算機系統。。。不過歷史上是存在三進位計算機的,但是顯然沒有流行開來。。。除了因為發明者是蘇聯,所以無法在歐美流傳外,很可能還有三進位計算機並沒有比二進位計算機多出什麼逆天的特性,同時成本卻太高的緣故吧。。。


如果只考慮性能的話,三進位是更好的選擇 。

但是現在實現物理轉化的方式是通過高低電位於二進位對應,理論上做成十進位也是沒有問題的,只需要將電壓區間劃分成10份就行,但是在實際運行的過程中會存在噪音的干擾,如果分成10份的話對電位控制的要求會進一步提高,為了減少這種噪音的干擾,只選擇了高、低倆種電平,也對應了二進位。


因為二極體只有兩種狀態,如果當時發明的不是二極體,而是十極管,那麼計算機的歷史就會變成十進位的表示和計算。


因為計算機使用電平的高低來傳輸數據。人們划了一根線,在這個線以上的叫高電平否則就是低電平。然後高低電平就完美表示二進位的0和1。

當然肯定也可以多劃幾根線,比如劃九根線,搞出十個電平表示十進位。但是為什麼不這麼做呢?

無外乎兩個原因

電路肯定不會那麼精準可靠,劃的線越多,那麼出錯的可能也就越大。而為了挽回這些錯誤所需要額外付出的成本可能會過高,比如研發成本,材料成本,性能成本等等。

或者因為一開始就是二進位,後來即使想改,也發現沒太大好處還麻煩,索性就不改了。


物理結構的實現簡單。使用有兩個穩定狀態的物理器件就可以表示二進位數的每一位,而製造有兩個穩定器件的物理器件要比製造多個穩定狀態的物理器件容易得多。例如:用高、低兩個電位,或者脈衝的有無、脈衝的正負極性等都可以很方便可靠地表示「0」和「1」。

編碼運算簡單。二進位的編碼、計數和運算規則都很簡單,可用開關電路實現。

方便邏輯運算。「0」和「1」正好和邏輯命題的兩個值「假」和「真」相對應,為計算機中實現邏輯運算和程序中的邏輯判斷提供了便利的條件,特別是能通過邏輯門電路方便地實現邏輯運算。

綜上,不論是物理結構層面,還是運算邏輯層面,二進位都是計算機內部進行信息編碼的簡單而強大的選擇。

參考內容:

《計算機系統基礎》袁春風編著。


用01表示電路的開關。


就題論題。請循其本。

二進位是計算機演算法的一種表現形式。它的深層是基於物理硬體二極體(非開即關)而存在的。

理解到這裡,隨著未來的發展,也可能出現三進、四進……,以及根據需求的多進混組組件。


因為數字電路之分高和低

為啥只分高和低?

因為抗干擾

還有硅晶管的電子元件更適合只分二進位


最早是10進位的。其中1個齒輪10個齒,另1個是1個齒。這樣,其中1個齒輪轉一圈,另一個就轉1格( [公式] 圈)。齒輪還好辦,電路就更難了,電路要實現10進位也不難,可是管子要很多啊,這樣做1位10進位的數要用10個管子,做成二制的,同樣是表示10,卻只要8個管子呢。最後的結果是,二制系統,除了管子少,邏輯還簡單,只要1和0二種狀態。


計算機接收的信號是以弱電的形式,有通斷兩種狀態,分別記錄0和1。即為二進位


因為用電平製造2種信號狀態比製造10種容易


建議學一下模電、數電,三極體的飽和和截止狀態。


計算機只能讀懂二進位,因為他的儲存位置都是0,1的數字


因為硬體模擬實現簡單


推薦閱讀:
相关文章