跳至內容

二進制

出自轻之舟百科

二進制(英語:Binary System)是一種以2為基數的進位制數制系統,僅使用0和1兩個數字符號,其基數為2,進位規則為"逢二進一",借位規則為"借一當二"[1]。每個二進制數字稱為一個比特(Bit,即Binary digit的縮寫),是信息論與計算機科學中最基本的數位單元[2]。二進制數據採用位置計數法,其位權是以2為底的冪,任何數值均可表示為若干2的冪次之和[1]。現代電子計算機普遍採用二進制作為底層運算與數據存儲的基礎,因其僅需兩種對立的物理狀態即可實現,如晶體管的導通與截止、高低電平等[2]。1985年,IEEE發布IEEE 754標準,規範了二進制浮點算術的表示與運算,成為現代數值計算的通用基礎[3][4]

二進制
中文名 二進制
外文名 Binary System[3]
別名 二進位制
基數 2
數碼 0、1
基本單位 比特(Bit)
進位規則 逢二進一
借位規則 借一當二
主要應用 電子計算機、數字電路
提出者 戈特弗里德·威廉·萊布尼茨

定義與表示

二進制是一種逢二進一的計數系統,其數位從右向左的位權依次為<math>2^0, 2^1, 2^2, \dots</math>。例如,二進制數<math>1101_2</math>按權展開為:

<math>1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 8 + 4 + 0 + 1 = 13_{10}</math>

二進制數通常以下標2或後綴B標識,以區別於十進制數。小數部分同樣遵循位權原則,各位權值為<math>2^{-1}, 2^{-2}, 2^{-3}, \dots</math>,但並非所有十進制小數都能精確轉換為有限位二進制小數[1]

歷史

二進制系統的數學基礎由德國數學家戈特弗里德·威廉·萊布尼茨(Gottfried Wilhelm Leibniz)於1679年建立,並於1703年在《皇家科學院回憶錄》上發表論文《二進制算術的解釋》(Explication de l'Arithmétique Binaire),正式向西方學術界系統闡述了二進制算術[5]。萊布尼茨在與中國傳教士的書信中提及,《易經》的六十四卦由陰爻(斷線)與陽爻(連線)組成,其排列順序與0至63的二進制數值完全對應,這使他確信二進制是一種普適的數學語言[5]

19世紀,喬治·布爾(George Boole)創立布爾代數,以0和1為變量值進行邏輯運算,為電子計算機採用二進制提供了理論基礎[2]。20世紀40年代,馮·諾依曼團隊在設計電子計算機時,將二進制系統付諸實踐,通過高低電平分別對應0和1,實現了信息的物理表徵與存儲[2]。1983年,IEEE《通信雜誌》刊文回顧了二進制編碼的早期歷史,系統梳理了其從數學理論到工程應用的演進脈絡[6]

運算規則

二進制數的四則運算規則簡潔,僅涉及0和1兩個數碼的組合。

加法

二進制加法遵循以下規則:

<math>0 + 0 = 0</math>

<math>0 + 1 = 1</math>

<math>1 + 0 = 1</math>

<math>1 + 1 = 10</math>(逢二進一)

例如:<math>1011_2 + 11_2 = 1110_2</math>[1]

減法

二進制減法規則如下:

<math>0 - 0 = 0</math>

<math>1 - 0 = 1</math>

<math>1 - 1 = 0</math>

<math>0 - 1 = 1</math>(向高位借一當二)

例如:<math>10100_2 - 1010_2 = 1010_2</math>[7]

乘法

二進制乘法規則與邏輯"與"運算一致:

<math>0 \times 0 = 0</math>

<math>0 \times 1 = 0</math>

<math>1 \times 0 = 0</math>

<math>1 \times 1 = 1</math>

運算時按位相乘後累加,其過程與十進制乘法類似,但因數碼僅有0和1,部分積的移位相加大幅簡化[1]

除法

二進制除法規則為:

<math>0 \div 1 = 0</math>

<math>1 \div 1 = 1</math>

除法運算通過逐位比較被除數與除數的大小,商僅為0或1,餘數繼續下移補位,直至完成全部位運算[7]

與其他進制的轉換

與十進制

二進制轉十進制採用"按權展開求和"法,將各位數碼乘以其對應位權後累加。十進制整數轉二進制採用"除二取余,逆序排列"法;十進制小數轉二進制採用"乘二取整,順序排列"法[1]

與八進制

二進制轉八進制時,從小數點起整數部分向左、小數部分向右,每三位分為一組,不足三位以0補足,每組對應一位八進制數。反之,每位八進制數展開為三位二進制數[1]

與十六進制

二進制轉十六進制時,每四位分為一組,不足四位以0補足,每組對應一位十六進制數(0–9及A–F)。十六進制轉二進制則將每位展開為四位二進制數[1]

在計算機中的應用

二進制是現代數字電子計算機的運算基礎。由於二進制僅有兩個數碼,可用任何具有兩種對立穩定狀態的物理元件表示,如晶體管的導通與截止、電容的充電與放電、磁性材料的兩種剩磁狀態等,這使得數字裝置結構簡單、可靠性高[2]

在計算機內部,所有數據——包括數值、字符、圖像、音頻——最終均以二進制形式存儲與處理。為規範浮點數的二進制表示,IEEE於1985年制定IEEE 754標準,定義了單精度(32位)與雙精度(64位)二進制浮點格式,確保了數值計算在不同平台間的一致性與可移植性[4]。此外,二進制補碼(Two's Complement)被廣泛用於表示有符號整數,使減法運算可通過加法電路統一實現[6]

參考文獻