為什麼計算機選用二進位制

2021-08-14 19:49:29 字數 2443 閱讀 9808

為什麼資訊科技中要用二進位制處理資料,難道僅僅是由於電晶體易於實現二進位制嗎?其實很多人都知道,在電晶體出現前很長時間,電報就是用的二進位制,其實即使那不是真正的二進位制,因為電報的二進位制沒有定義運算,即便如此,人們還是傾向於用兩個符號來對大量的字元進行編碼,這個意義上說,二進位制只不過是這種雙符號的電報(.和_)定義了運算的高階形式而已,不考慮運算只考慮編碼,電報的雙符號和現在二進位制編碼十分相似,這時就要問了,人們為何不用更多的符號進行編碼,而只用兩個符號,這就是資訊熵的問題了。

用兩個符號進行編碼使得識別更加容易,如果把每乙個資料位的可能值作為一種狀態,那麼十進位制數的每一位就有十種狀態,而二進位制資料的每一位只有兩種狀態,初看起來,十進位制的資料記載的資訊量更大,可是正式由於這種很大的資訊量導致十進位制的資料更加不易識別,不易識別就是說需要我們付出更大的努力才能識別,用熱力學的術語說就是資訊的熵過大,舉個例子說明為何資訊量大的資料更加不易識別,如果是二進位制的數,如果有一位丟失了或者寫得不清,那麼我們有百分之五十的機率可以猜中,但是如果乙個十進位制的資料位丟失了,那麼我們只有百分之十的機率猜中它,這就是實質。資訊熵代表的是一種無序度,無序度越大,它承載的資訊越多,我們想理解它就需要更多的努力,這該作何理解呢?我們面對乙個未知的事物時,我們說它是無序的,混亂的,你對它完全未知它就是完全混亂完全無序,你對它部分未知,那麼它就是部分混亂部分無序,你理解它的過程就是你得到資訊的過程,就是你將該事物乙個個無序的狀態變成有序的過程,最終一切都成了有序的,那麼你對該事物就完全理解了,因此你就得到了資訊,因此資訊量是相對於你對該資訊的無知而言的,你對它越無知,那麼它就越無序,它對你來講資訊量越大,引用一句話「熵,是物理名字,在資訊理論裡則叫資訊量。從控制論的角度來看,應叫不確定性。當我們不知道某事物具體狀態,卻知道它有幾種可能性時,顯然,可能性種類愈多,不確定性愈大。不確定性愈大的事物,我們最後確定了、知道了,這就是說我們從中得到了愈多的資訊,也就是資訊量大。」其實這也是和熱力學有關係的,因為在你理解資訊的時候,你的大腦要耗氧,這時產生的熱量還是增加了熱力學的熵,你理解的資訊越多也就是資訊量越大資訊熵越大,那麼你的大腦耗氧將越多,產生的熱量將越多,其實資訊熵只是熱力學熵的乙個抽象投影而已。我們知道,理解二進位制資訊時我們付出的努力沒有理解十進位制時的多(我們猜對的機率大),因此二進位制就成了資訊系統的首選,但是這只是選用二進位制的原因之一,這裡還要說明的是,以上僅僅是理解的一種方式,其實不要忘了,雖然十進位制資料誤位元速率高,但是它確實可以承載更多的資訊,比如乙個數字9,用十進位制乙個位就可以,用二進位制需要4個位,誤位元速率乘以四不一定更低,幸運的是,資訊理論的主體不是人,而是機器,機器是善於按位運算的,而且,資訊熵也是理解一位的資訊熵,因此二進位制在這個意義上是首選。況且二進位制的數字更容易被分辨,分辨系統設計更加容易,只需要識別兩種狀態足矣,沒有第三種狀態來攪局。

資訊量大即資訊熵高難道不是好事嗎?其實對於結果來說是好事,畢竟我們的世界現在已經嚴重依賴於資訊,但是對於我們理解資訊來說,我們需要付出的會更多,但是如果對於資訊熵少的系統,想擁有同樣的資訊量的話,必然需要更多次的仲裁才可以,因此總體上二進位制資訊的熵值低並不是它被選中的理由,但是僅憑一次仲裁中,二進位制資訊更容易被識別,更不易出錯,得到正確結果更容易這些原因,它就應該被選中,畢竟誰不是一步一步處理資訊的呢?雖然處理資訊的主體是機器,它也是一步一步處理資訊的,單步的效能更加有意義,它直接關係到處理器的發熱,因為,資訊的獲得將最終統一到熱力學的熱熵。

選用二進位制的另乙個原因就是,它確實占用了最少的狀態,從而節省了硬體,因為機器要為每乙個狀態準備乙個空間。如果我們將乙個r進製資料的乙個位上的所有的可能值設為乙個狀態,那麼乙個n位的r進製數一共需要n*r個狀態,我們設s=n*r,現在我們就要求s的最小值,我們這個計算中僅憑這些量根本不夠,這個方程中,我們有s為值,而n和r為自變數,我們必須限定乙個值,在這個值上比較誰的s更小,因為我們將二進位制的1000和十進位制的10比較是沒有意義的,因此,我們再設乙個值m,這個值是n位r進製數所能表示的最大值,我們就在這個值上比較,在這個最小值求解的過程中,我們可以認為m是恆定的,由上述定義可以匯出下面的等式:m=r^n(其中^為乘方),那麼進一步就有n=logrm,帶入s=n*r就有s=rlogrm,利用對數的換底公式有:s=rlnm/lnr,因此我們最終得到了乙個基於自然對數e的方程,前面說過我們可以將m了看做常數,下面我們求s的極值,初看起來它並沒有單調特徵,那麼我們可以通過導數來求極值,(r/lnr)'=lnr-1,從這個導數可以看出,當re時,s'>0,s單調遞增,因此當r=e時,s取得最小值,因此,理論上,e進製數對於節省狀態是最優的,但是理論終究不是實際,自然狀態下無理數沒有什麼不好,但是在涉及工程學時,就更加青睞整數了,整數是離散的,適合處理,記住,不管用幾進製數,計算機處理都是基於編碼的,前面說過,編碼都是離散的,某種意義上,計算機處理就是用離散的編碼來用自己的方式重現連續的真實世界,計算機的最強大之處在處理而不是儲存,因此它沒有必要記住整個世界,但是它需要迅速的處理這個世界,離散的方式就是計算機的方式。在e的兩邊有2和3,我們沒有必要比較2和3下哪個s更小,這時結果已經很明了了,剛才是理論推算,它推算出了乙個e,現在該讓工程學的方式給出乙個具體的整數了,這時就要遵循乙個原則,就是以理論為指導,就是最終的結果不要偏離e太遠就可以,那麼只有到了這時電晶體的意義才凸顯,電晶體的特性最終採用了二進位制。

計算機為什麼採用二進位制?

要回答這個問題,首先讓我們了解一下二進位制概述以及其發展 進製是逢2進製的進製,0 1是基本算符 計算機運算基礎採用二進位制。電腦的基礎是二進位制,那麼,什麼是二進位制呢,為什麼需要二進位制呢?在早期設計的機械計算裝置中,使用的不是二進位制,而是十進位制或者其他進製,利用齒輪的不同位置表示不同的數值...

計算機為什麼是二進位制的?

計算機為什麼是二進位制的?眾所周知,現在的計算機都是以二進位制儲存和運算資料的,那麼為什麼是二進位制而不是常見的十進位制呢?原因很簡單,因為現在的計算機是電子計算機,內部只有兩個狀態,所以就依據這兩個狀態建立了一種新的進製形式 二進位制。這樣極大的簡化了電子計算機的結構,可以用電流的有無 光線的有無...

計算機中為什麼使用二進位制

answer 將計算轉換成邏輯判斷 經典例題 100桶飲料,其中有一桶是有毒的,喝了肚子會難受,二十分鐘後恢復,請問最少需要多少測試人員才能確定有毒的桶的位置?答 7個人 解析 使用二進位制的來思考,首先飲料是否有毒為兩種情況,符合邏輯判斷0和1,遂將100轉換為二進位制 1 1 0 0 1 0 0...