二進制

 

有人說,好奇怪,十進制,我們是個手指數的過來,挺好的,爲什麼要搞一個二進制這麼複雜的進位呢?你覺得複雜,你覺得很不習慣,非常正常,因爲二進制本來就不是給人看的,它是給機器用的,就是,機器底層在計算的時候就是用二進制,爲什麼機器底層要用二進制呢?因爲二進制好實現,比如說機器要計算1+5,那麼,1+5怎麼算呢?怎麼表示一個5呢?這就很麻煩,但是,如果是機器只算1+0或者1+1的話,這就很容易,1可以表示爲5伏,0可以表示爲0伏,它可以用電壓來表示,這就可以更容易實現,開關打開或者關閉即可,所以,我們很多理論不是說這個理論很高端,它是對的,邏輯是自洽的就可以實現,你得用物理的方法把它做出來,這就是另外一回事了。

電腦當中存一個數字最低起碼是一個字節,就是0000 0001,這是八個bit,組成了一個Byte,就是八個01位組成一個最小的存儲單元,來存儲一個數字。

電腦底層只有電,那麼這些01怎麼轉換成電路中的實實在在的東西呢?這個很重要,就要用到我們電腦當中的一個叫做加法器,它實際上分爲半加器和全加器,半加器就是不帶進位的,全加器就是帶進位的,我們直接講全加器,

既然是芯片,那麼,這邊都是帶電的,1用5伏代替,

所以,整個結果運算出來就可以用電路來實現。當然它的內部也不難

往裏面再看一層,就是與非門、與或非等等,你把與或非門再打開來看,就是晶體管、三極管、電阻之類的,所以,它就可以用實實在在的電路來實現。

把這個全加器級聯起來,比如說,把上一級的進位放到這裏

輸入就可以算出下一個結果。

那麼,這個進位再丟到下一級,那麼,又可以進一位,所以,這兩位的一個加法器就可以級聯起來,成爲八位的一個加法器,甚至更多位的,所以,我們就可以算出剛纔這樣的數據

哪怕你有更多位,比如32位,32個bit,就是,32位的加法器都是可以實現的,只需要把這些,一個全加速器這種基本的單元給它級聯起來就是這樣的,那麼,CPU底層實際上就是用這種最基本的算術單元,所以,你看以前的計算機在沒有機械硬盤或者磁帶的時候,科學家、工程師怎麼編程?用紙帶打孔,打個孔那就是0,不打孔的紙帶就是1,所以,一個紙帶密密麻麻的,有孔沒孔有孔沒孔,就是10100,這就是程序,運算結果出來的也是紙帶。

這就是計算機底層的運行原理。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章