面試官:計算機為什麼採用二進位?

2021-02-13 JAVA面試倉庫

題外話:熟悉本公眾號的老朋友應該知道,本號的主要理念不是告訴你怎麼做,而是告訴你為什麼。大家也會發現大多數文章都是講原理的知識,畢竟「知其然,知其所以然」是最重要的。

言歸正傳,要回答這個問題,首先讓我們了解一下二進位概述以及其發展 。
進位是逢2進位的進位制,0、1是基本算符;計算機運算基礎採用二進位。 
電腦的基礎是二進位,那麼,什麼是二進位呢,為什麼需要二進位呢?在早期設計的機械計算裝置中,使用的不是二進位,而是十進位或者其他進位,利用齒輪的不同位置表示不同的數值,這種計算裝置可能更加接近人類的思想方式。比如說一個計算設備有十個齒輪,它們級連接起來,每一個齒輪有十格,小齒輪轉一圈大齒輪走一格。這就是一個簡單的十位十進位的數據表示設備了,可以表示0到999999999的數字。配合其他的一些機械設備,這樣一個簡單的基於齒輪的裝置就可以實現簡單的十進位加減法了。 

這種通過不同的位置上面不同的符號表示數值的方法就是進位表示方法。常用的進位主要是十進位(因為我們有十個手指,所以十進位是比較合理的選擇,用手指可以表示十個數字,0的概念直到很久以後才出現,所以是1-10而不是0-9)。電子計算機出現以後,使用電子管來表示十種狀態過於複雜,所以所有的電子計算機中只有兩種基本的狀態,開和關。也就是說,電子管的兩種狀態決定了以電子管為基礎的電子計算機採用二進位來表示數字和數據。常用的進位還有8進位和16進位,在電腦科學中,經常會用到16進位,而十進位的使用非常少,這是因為16進位和二進位有天然的聯繫:4個二進位位可以表示從0到15的數字,這剛好是1個16進位位可以表示的數據,也就是說,將二進位轉換成16進位只要每4位進行轉換就可以了。 

二進位的「00101000」直接可以轉換成16進位的「38」。一個字是電腦中的基本存儲單元,根據計算機字長的不同,字具有不同的位數,現在的計算機字長一般是32位或64位的。以32位為例,也就是說,一個字的位數是32。字節是8位的數據單元,一個字節可以表示0-255的數據。對於32位字長的現代電腦,一個字等於4個字節,對於早期的16位的電腦,一個字等於2個字節。

  
計算機使用二進位有一下優點(可以補充): 
1、電路中容易實現 :當計算機工作的時候,電路通電工作,於是每個輸出端就有了電壓。電壓的高低通過模數轉換即轉換成了二進位:高電平是由1表示,低電平由0表示。也就是說將模擬電路轉換成為數字電路。這裡的高電平與低電平可以人為確定,一般地,2.5伏以下即為低電平,3.2伏以上為高電平。二進位數碼只有兩個(「0」和「1」)。電路只要能識別低、高就可以表示「0」和「1」。 


  2、物理上最易實現存儲 :  
(1)基本道理:二進位在物理上最易實現存儲,通過磁極的取向、表面的凹凸、光照的有無等來記錄。 
(2)具體道理:對於只寫一次的光碟,將雷射束聚住成1--2um的小光束,依靠熱的作用融化碟片表面上的碲合金薄膜,在薄膜上形成小洞(凹坑),記錄下「1」,原來的位置表示記錄「0」。  


3、便於進行加、減運算和計數編碼。易於進行轉換,二進位與十進位數易於互相轉換。 
簡化運算規則:兩個二進位數和、積運算組合各有三種,運算規則簡單,有利於簡化計算機內部結構,提高運算速度。電子計算機能以極高速度進行信息處理和加工,包括數據處理和加工,而且有極大的信息存儲能力。數據在計算機中以器件的物理狀態表示,採用二進位數字系統,計算機處理所有的字符或符號也要用二進位編碼來表示。用二進位的優點是容易表示, 運算規則簡單,節省設備。人們知道,具有兩種穩定狀態的元件(如電晶體的導通和截止,繼電器的接通和斷開,電脈衝電平的高低等)容易找到,而要找到具有10種穩定狀態的元件來對應十進位的10個數就困難了 

 4、便於邏輯判斷(是或非)。適合邏輯運算:邏輯代數是邏輯運算的理論依據,二進位只有兩個數碼,正好與邏輯代數中的「真」和「假」相吻合。二進位的兩個數碼正好與邏輯命 題中的「真(Ture)」、「假(False)或稱為」是(Yes)、「否(No)相對應。 

5、用二進位表示數據具有抗幹擾能力強,可靠性高等優點。因為每位數據只有高低兩個狀態,當受到一定程度的幹擾時,仍能可靠地分辨出它是高還是低。  

綜合以上特點,計算機才使用二進位。

相關焦點

  • 計算機為什麼用二進位?
    熟悉編程的人都知道二進位總是一個讓人晦澀難懂的詞彙,只有大神級的程式設計師才有資格把玩它。 我們今天來重新認識一下二進位,了解編程中的數學知識和計算機為什麼使用二進位?上面的規則我們在小學數學都學過了,日常生活中也一直在用,是眾所周知的常識。 在此權當複習,下面我們將通過實例來了解一下10進位計數法。分解1024首先,我們以 1024 這個數為例。
  • 計算機為什麼要用二進位?
    熟悉編程的人都知道二進位總是一個讓人晦澀難懂的詞彙,只有大神級的程式設計師才有資格把玩它。 我們今天來重新認識一下二進位,了解編程中的數學知識和計算機為什麼使用二進位?上面的規則我們在小學數學都學過了,日常生活中也一直在用,是眾所周知的常識。 在此權當複習,下面我們將通過實例來了解一下10進位計數法。分解1024首先,我們以 1024 這個數為例。
  • 二進位與計算機
    現在國際通用的主要進位制有十進位、二進位、二十進位和六十進位。其中的二進位是計算機通用的進位制。 八卦:最早提出的二進位思想 中國古人很早就開始使用十進位的計數方法,其數字符號有:一、二、三、四、五、六、七、八、九、十、百、千、萬、億、兆等。此外,還有與中國的傳統思想、文化和生活有密切關係的符號體系——天幹、地支和八卦。
  • 說說二進位與計算機的那些事兒
    現在國際通用的主要進位制有十進位、二進位、二十進位和六十進位。其中的二進位是計算機通用的進位制。 ·八卦:最早提出的二進位思想 中國古人很早就開始使用十進位的計數方法,其數字符號有:一、二、三、四、五、六、七、八、九、十、百、千、萬、億、兆等。
  • 6.4二進位的應用-現代計算機
    6.1語句與公式6.2符號的模擬——算術6.3符號的規則操作——計算6.4二進位的應用——現代計算機所有進位的位置記數法原理上等價,實踐中不同進位的記數法有不同的適用性。二進位是用0、1這兩個數字,以及逢二進一的規則來表示所有的數。十進位與二進位相比,十進位的數字長度更短,更容易辨識書寫,另一方面十進位的應用需要掌握比二進位應用更複雜的加法表與乘法表。二進位的發明追溯至萊布尼茨。
  • 6、計算機進位之二進位、十進位、十六進位之間的轉換
    4、進位之間的轉換4.1、正整數的十進位轉換二進位將一個十進位數除以二,得到的商再除以二,依此類推直到商等於一或零時為止,倒取除得的餘數,即換算為二進位數的結果只需記住要點:除二取餘,倒序排列。由於計算機內部表示數的字節單位都是定長的,以2的冪次展開,或者8位,或者16位,或者32位....。於是,一個二進位數用計算機表示時,位數不足2的冪次時,高位上要補足若干個0。本文都以8位為例。
  • 計算機進位的轉換
    我們人能識別多種進位,可是計算機只能識別二進位。
  • 二進位與十六進位之間互相轉換
    通過上節課的學習,我們掌握了二進位與八進位互相轉換的方法(我們介紹的是421法),我們進行知識遷移,二進位數轉換成十六進位數的方法我們用
  • 二進位與十進位
    在這些原理中,二進位可以說是基礎中的基礎。因為計算機所採用的就是二進位數字系統。 同學們好,我是大風。歡迎大家來到大風編程課堂。今天由我來為大家講解二進位與十進位的相關理論與應用實例。為什麼要講這個呢?因為我們知道,人類日常生活中,表示數字大多是用的十進位。而計算機不同,它不能直接識別十進位數據。
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • C語言基礎:二進位和計算機語言雜談(編程新手福利)
    密密麻麻的二進位正因為用電壓的高低可以穩定的表示開和關,所以計算機在計算機中只有兩個狀態來傳遞信息,一個高電平,一個低電平,在計算機中,用1表示高電平,用0表示低電平。二進位文件我們現實生活中用的是的十進位,就是只有0到9這十個數字,計算機只有0和1,它如何表示各種各樣的數字呢,這個時候,人們就定製了一個規則,就說這個規則全世界的計算機都要符合它
  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    因為日常生活中經常使用的是十進位數,而在計算機中採用的是二進位數。所以在使用計算機時就必須把輸入的十進位數換算成計算機所能夠接受的二進位數。計算機在運行結束後,再把二進位數換算成人們所習慣的十進位數輸出。這兩個換算過程完全由計算機自動完成。②轉換方法十進位整數化為非十進位整數採用「餘數法」,即除基數取餘數。
  • 電腦內部為什麼不用十進位?採用八進位和十六進位的原因
    電腦是由0和1組成的,相信大部分人都聽過,對應電路中的通電和不通電,所以電腦底層是由二進位組成的。那為什麼不在二進位上建立十進位,而是採用八進位和十六進位呢?理論是可以在二進位基礎上就建立十進位的,但相比之下,效率會變慢,算法會複雜。
  • 計算機網絡|單位換算二進位十進位&bit
    數據幀長:bit KB MB來表示於是就有了些微模糊的差別:十進位……k(kilo)=10^3=千,M(Mega)=10^6=兆,G(Giga)=10^9=吉,T(Tera)=10^12=太,P(Peta)=10^15=拍,E(Exa)=10^18=艾,Z(Zetta)=10^21=澤,Y(Yotta)=10^24=堯二進位
  • 二進位、八進位、十進位、十六進位數的轉換方法
    一)、數制計算機中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述
  • 計算機二進位數據是什麼,和十進位有什麼區別?還有其他的進位嗎
    在日常看編程學習資料的過程中, 我們經常看到二進位這個概念,那麼二進位都是什麼東西?我們日常使用的都是十進位的說法,他們之間有什麼區別?是否還有其他進位來表示數據?二進位計算機數據類型計算機中處理的數據有兩類,分別為「數值數據」和「非數值數據」。
  • 二進位的正確打開方式
    但那一串串01010101的二進位足以將人繞暈,為了更為方便地閱讀或使用到二進位,我們通常會採用十六進位來替代二進位表示。需要具體分析bit位時我們才關注對應的二進位。所以在我看來,掌握二進位與十六進位之間的轉換才是最為基礎的編程常識,其它的關於進位的東西遇到時順便就能懂了。不要一看到二進位(十六進位)就想著要把它們轉換成十進位,這是個非常不好的習慣,要戒掉。
  • 【S7-200】二進位、八進位、十進位、十六進位數的轉換方法
    QQ群:239048453 S7-300 QQ群: 385453109 EPLAN QQ群: 239317903 一 、數制 計算機中採用的是二進位,因為二進位具有運算簡單,易實現且可靠,為邏輯設計提供了有利的途徑、節省設備等優點,為了便於描述,又常用八、十六進位作為二進位的縮寫。
  • 【二進位】----十進位數轉換成二進位數
    這樣由0--9十個數字來表示並且進位規則是「逢十進一」,借位規則是「借一當十」就是我們常說的十進位的數。你知道嗎?除了我們常見的十進位的數,還有二進位、五進位、八進位、十六進位和六十進位的數。今天我們來說說二進位。
  • 關於二進位世界的秘密
    我們都知道,計算機的底層都是使用二進位數據進行數據流傳輸的,那麼為什麼會使用二進位表示計算機呢?或者說,什麼是二進位數呢?在拓展一步,如何使用二進位進行加減乘除?二進位數如何表示負數呢?本文將 一一 為你揭曉。