什麼是二進位制,為什麼計算機使用它?

計算機不像人類那樣理解單詞或數字。現代軟體允許終端使用者忽略這一點,但在計算機的最低級別上,一切都由二進位制電訊號表示,該電訊號以兩種狀態之一註冊:開或關。為了理解複雜的資料,你的計算機必須用二進位制編碼。...

什麼是二進位制,為什麼計算機使用它?

計算機不像人類那樣理解單詞或數字。現代軟體允許終端使用者忽略這一點,但在計算機的最低級別上,一切都由二進位制電訊號表示,該電訊號以兩種狀態之一註冊:開或關。為了理解複雜的資料,你的計算機必須用二進位制編碼。

二進位制是以2為基數的數字系統。以2為基數意味著只有兩個數字1和0對應於計算機可以理解的開和關狀態。你可能對十進位制十分熟悉。十進位制使用從0到9的10個數字,然後環繞形成兩位數,每個數字的值是最後一個數字的10倍(1、10、100等)。二進位制是相似的,每個數字的值是最後一個的兩倍。

二進位制計數

什麼是二進位制,為什麼計算機使用它?

在二進位制中,第一個數字等於十進位制中的1。第二個數字值2,第三個數字值4,第四個數字值8,依此類推,每次翻倍。把這些加起來就是十進位制數。所以,

1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)

考慮到0,這就為四個二進位制位提供了16個可能的值。移到8位,就有256個可能的值。這將佔用更多的空間來表示,因為十進位制中的四位數字表示10000個可能的值。似乎我們正在經歷這些麻煩,重新發明我們的計數系統只是為了讓它更笨重,但計算機對二進位制的理解要比對十進位制的理解好得多。當然,二進位制檔案佔用了更多的空間,但我們受到了硬體的限制。對於一些事情,比如邏輯處理,二進位制比十進位制好。

還有另一個基本系統也用於程式設計:十六進位制。雖然計算機不執行十六進位制,但程式設計師在編寫程式碼時用它以可讀的格式表示二進位制地址。這是因為十六進位制的兩位數字可以代表一個完整的位元組,二進位制的八位數字。十六進位制與十進位制一樣使用0-9,也使用字母A到F來表示額外的六位數字。

那麼為什麼計算機使用二進位制呢?

簡而言之:硬體和物理定律。計算機中的每一個數字都是一個電訊號,在計算機的早期,電訊號很難精確地測量和控制。只有區分由負電荷表示的“開”狀態和由正電荷表示的“關”狀態才更有意義。對於那些不確定為什麼“關”用正電荷來表示的人來說,這是因為電子帶有負電荷更多的電子意味著帶有負電荷的電流更多。

因此,早期的房間大小的計算機使用二進位制來構建系統,儘管它們使用的是更舊、更笨重的硬體,但我們保持了相同的基本原則。現代計算機用所謂的電晶體進行二進位制運算。下面是場效應電晶體(FET)的外形圖:

什麼是二進位制,為什麼計算機使用它?

本質上,它只允許電流從源流向漏極,如果有電流在門。這形成了一個二進位制開關。**商可以**出這些小得難以置信的電晶體,一直到5奈米,或者大約兩股DNA大小。這就是現代cpu的工作方式,甚至它們也會遇到區分開態和關態的問題(儘管這主要是由於它們不真實的分子大小,受制於量子力學的怪異)。

但為什麼只有基數2?

所以你可能會想,“為什麼只有0和1?你不能再加一個數字嗎?雖然其中一些可以歸結為傳統的計算機**方式,但如果再加上一個數字,就意味著我們不僅要區分“關”和“開”,還要區分“開一點”和“開很多”這樣的狀態

這裡的問題是,如果你想使用多個電壓等級,你需要一種方法來輕鬆地用它們進行計算,而這方面的硬體作為二進位制計算的替代品是不可行的。它確實存在;它被稱為三值計算機,它從1950年代就已經存在了,但這幾乎是它的發展停止的地方。三值邏輯比二值邏輯有效得多,但到目前為止,還沒有人能有效地替代二值電晶體,或者至少,還沒有人在與二值電晶體相同的微小尺度上開發它們。

我們不能使用三值邏輯的原因可以歸結為電晶體在計算機中的堆疊方式,即所謂的“門”,以及它們是如何用來執行數學運算的。門接受兩個輸入,對它們執行一個操作,然後返回一個輸出。

什麼是二進位制,為什麼計算機使用它?

這給我們帶來了一個很長的答案:二進位制數學對於計算機來說比其他任何東西都容易。布林邏輯很容易對映到二進位制系統,用開和關表示真和假。計算機中的門操作布林邏輯:它們接受兩個輸入並對它們執行一個操作,如and、OR、XOR等等。兩個輸入易於管理。如果你將每個可能輸入的答案用圖表表示,你會得到一個被稱為真值表的東西:

什麼是二進位制,為什麼計算機使用它?

在布林邏輯上操作的二進位制真值表對於每個基本操作將有四個可能的輸出。但是由於三值門需要三個輸入,一個三值真值表需要9個或更多。二元系統有16個可能的運算子(2^2^2),三元系統有19683個運算子(3^3^3)。縮放成為一個問題,因為雖然三元是更有效的,它也指數更復雜。

誰知道呢?在未來,當我們把二進位制的極限降低到分子水平時,我們可以開始看到三元計算機成為一種東西。不過,就目前而言,世界將繼續以二進位制執行。

圖片來源:spainter\u vfx/Shutterstock,Wikipedia,Wikipedia,Wikipedia,Wikipedia

  • 發表於 2021-04-04 09:44
  • 閱讀 ( 44 )
  • 分類:網際網路

你可能感興趣的文章

二叉樹(binary tree)和二叉搜尋樹(binary search tree)的區別

...搜尋樹沒有儲存資料的上限。 目錄 1. 概述和主要區別 2. 什麼是二叉樹 3. 什麼是二叉搜尋樹 4. 二叉樹與二叉搜尋樹的相似性 5. 並列比較-二叉樹與表格形式的二叉搜尋樹 6. 摘要 什麼是二叉樹(binary tree)? 在樹狀結構中排列資料...

  • 發佈於 2020-10-19 12:25
  • 閲讀 ( 46 )

按位(bitwise)和邏輯運算子(logical operators)的區別

...用於根據多個條件進行決策。 目錄 1. 概述和主要區別 2.什麼是位運算子 3. 什麼是邏輯運算子 4. 位運算子與邏輯運算子的相似性 5. 並排比較-按位與表格式的邏輯運算子 6.摘要 什麼是定義的位運算(bitwise operators)? 按位運算子操...

  • 發佈於 2020-10-19 16:48
  • 閲讀 ( 114 )

原始碼(source code)和目的碼(object code)的區別

...編程式轉換原始碼後的輸出。 目錄 1. 概述和主要區別 2. 什麼是原始碼 3. 什麼是目的碼 4.原始碼和目的碼的相似性 5. 並行比較-原始碼與目的碼的表格形式 6. 摘要 什麼是原始碼(source code)? 在開發軟體之前,應該對需求有一個...

  • 發佈於 2020-10-19 18:56
  • 閲讀 ( 191 )

您需要了解的關於檔案格式及其屬性的所有資訊

檔案是計算體驗的基本部分之一。但什麼是“檔案”?它是你桌面上的一個圖示,一個以電子表格形式開啟你預算的列表條目,還有一個你可以給你最近的**起的名字。歸根結底,“檔案”是一組位(0和1)的集合,這些位以某...

  • 發佈於 2021-03-14 03:30
  • 閲讀 ( 47 )

硬碟大小解釋:為什麼1tb的實際空間只有931gb

... 為什麼會發生這種情況,有幾個很好的理由。讓我們看看為什麼廣告空間通常與實際空間不一樣。 ...

  • 發佈於 2021-03-19 04:23
  • 閲讀 ( 44 )

如何從linux命令列檢視二進位制檔案

有神祕檔案嗎?Linux file命令將快速告訴您它是什麼型別的檔案。如果它是一個二進位制檔案,你可以找到更多關於它。檔案裡有一大堆馬廄,可以幫你分析。我們將向您展示如何使用這些工具。 識別檔案型別 檔案通常具有一...

  • 發佈於 2021-04-02 04:41
  • 閲讀 ( 51 )

如何在linux上使用strings命令

...方案的命令。絃樂司令部肯定屬於那個陣營。它的目的是什麼?是否有指向列出二進位制檔案中可列印字串的命令的點? 讓我們後退一步。諸如程式檔案之類的二進位制檔案可以包含人類可讀文字的字串。但是你怎麼才能看到...

  • 發佈於 2021-04-03 09:27
  • 閲讀 ( 46 )

htg解釋道:cpu實際上是如何工作的?

...進位制開關,它根據第二個輸入訊號切斷電線。 相關:什麼是二進位制,為什麼計算機使用它? 現代計算機使用數十億個電晶體來進行計算,但在最低水平上,你只需要一小部分就可以形成最基本的元件,即所謂的門。 邏輯閘...

  • 發佈於 2021-04-04 08:36
  • 閲讀 ( 52 )

ip地址是如何工作的?

...連線到網路計算機、平板電腦、照相機的每個裝置,無論什麼,都需要一個唯一的識別符號,以便其他裝置知道如何訪問它。在TCP/IP網路世界中,該識別符號是Internet協議(IP)地址。 如果你在計算機上工作過一段時間,你可能...

  • 發佈於 2021-04-06 18:43
  • 閲讀 ( 52 )

為什麼十六進位制編輯器被稱為二進位制編輯器?

有時名稱和術語是非常可互換的,每個人都明白什麼是指沒有混亂,但有時事情不是那麼清楚,留給你更多的問題,而不是答案。今天的超級使用者問答有助於澄清困惑讀者的事情。 今天的問答環節是由SuperUser提供的,SuperUser...

  • 發佈於 2021-04-09 19:59
  • 閲讀 ( 37 )
haibaopeng
haibaopeng

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦