Binary Number System — Learn, Practice & Convert
我們日常使用的數字系統是十進位(decimal, base-10),有 0–9 共 10 個數字符號。而二進位(binary, base-2)只使用兩個符號:0 和 1。
電腦的核心元件——電晶體——只有「開」與「關」兩種狀態,天然對應 1 與 0。因此,二進位是所有數位計算的基礎語言。
在二進位中,每一個位元稱為 bit(binary digit),8 個 bit 組成一個 byte(位元組)。
想像一排電燈開關——每個開關只能「亮」或「暗」。透過不同的亮暗組合,我們就能表示任意數字。試試下面的互動開關!
如同十進位中每個位置代表 10 的冪次,二進位中每個位置代表 2 的冪次:
| 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ | |
|---|---|---|---|---|---|---|---|---|
| 位值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 例: 13 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
| 貢獻 | — | — | — | — | 8 | 4 | — | 1 |
00001101₂ = 1×8 + 1×4 + 0×2 + 1×1 = 13₁₀
二進位的計數邏輯和十進位完全一樣——當某一位滿了就進位。十進位逢十進一,二進位逢二進一:
| 十進位 | 二進位 | 說明 |
|---|---|---|
| 0 | 0000 | |
| 1 | 0001 | |
| 2 | 0010 | 進位! |
| 3 | 0011 | |
| 4 | 0100 | 再進位! |
| 5 | 0101 | |
| 6 | 0110 | |
| 7 | 0111 | |
| 8 | 1000 | 又進位! |
| 9 | 1001 | |
| 10 | 1010 | |
| 15 | 1111 | 4-bit 最大值 |
| 16 | 10000 | 需要 5 位! |
最常用的方法是短除法(除 2 取餘法):不斷除以 2,記錄餘數,最後將餘數由下往上排列。
將每個 bit 乘以對應的位值(2 的冪次),再全部相加:
10110₂ = 1×2⁴ + 0×2³ + 1×2² + 1×2¹ + 0×2⁰ = 16 + 0 + 4 + 2 + 0 = 22₁₀
因為二進位數字太長,實務上常用八進位(octal, base-8)和十六進位(hexadecimal, base-16)來簡寫:
| 十進位 | 二進位 | 八進位 | 十六進位 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 255 | 11111111 | 377 | FF |
十六進位廣泛用於:顏色碼(如 #FF5733)、記憶體位址、MAC 地址等。你可以在「進位轉換器」分頁中試試各種轉換!
電腦用二進位儲存文字,最經典的編碼方式是 ASCII(American Standard Code for Information Interchange),用 7 位二進位表示 128 個字元:
例如字母 A 的 ASCII 碼是 65,二進位為 1000001
在任一欄位輸入數值,其他欄位將自動同步轉換。
快速範例: