進位系統簡介
進位系統是表示數字的方法。我們常用的十進位使用 0-9 十個符號,每個位值是前一位的 10 倍。二進位只使用 0 和 1 兩個符號,每個位值是前一位的 2 倍。
十進位轉二進位的方法
短除法(除 2 取餘法)
將十進位數不斷除以 2,記錄每次的餘數,最後從下往上讀取餘數。
範例:將 13 轉為二進位
| 步驟 | 除法 | 商 | 餘數 |
|---|---|---|---|
| 1 | 13 / 2 | 6 | 1 |
| 2 | 6 / 2 | 3 | 0 |
| 3 | 3 / 2 | 1 | 1 |
| 4 | 1 / 2 | 0 | 1 |
由下往上讀取餘數:1101
驗算:1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13 ✓
二進位轉十進位
從右到左,每位數乘以 2 的對應次方後相加。
範例:1011 0110₂
| 位元 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 位值 | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
| 數值 | 128 | 0 | 32 | 16 | 0 | 4 | 2 | 0 |
128 + 32 + 16 + 4 + 2 = 182
2 的冪次速查表
| 次方 | 值 | 常見用途 |
|---|---|---|
| 2⁰ | 1 | - |
| 2¹ | 2 | - |
| 2⁴ | 16 | 一個十六進位數字 |
| 2⁷ | 128 | ASCII 字元集 |
| 2⁸ | 256 | 一個 byte 的範圍 |
| 2¹⁰ | 1,024 | 1 KB |
| 2¹⁶ | 65,536 | 一個 port 號碼範圍 |
| 2²⁰ | 1,048,576 | 1 MB |
| 2³² | ~42.9 億 | IPv4 位址數量 |
二進位與 ASCII
0-127 的數字對應 ASCII 字元:
| 十進位 | 二進位 | 字元 |
|---|---|---|
| 48 | 0011 0000 | ’0’ |
| 65 | 0100 0001 | ’A’ |
| 97 | 0110 0001 | ’a’ |
| 32 | 0010 0000 | 空格 |
二進位運算
電腦使用二進位做邏輯運算:
| 運算 | 符號 | 規則 | 範例 |
|---|---|---|---|
| AND | & | 兩者都是 1 才為 1 | 1010 & 1100 = 1000 |
| OR | | | 任一為 1 就是 1 | 1010 | 1100 = 1110 |
| XOR | ^ | 不同為 1,相同為 0 | 1010 ^ 1100 = 0110 |
| NOT | ~ | 0 變 1,1 變 0 | ~1010 = 0101 |
這些位元運算在權限控制、加密和圖形處理中廣泛使用。
四位元分組與十六進位
每 4 個二進位位元(nibble)對應一個十六進位數字:
| 二進位 | 十六進位 | 十進位 |
|---|---|---|
| 0000 | 0 | 0 |
| 0101 | 5 | 5 |
| 1001 | 9 | 9 |
| 1010 | A | 10 |
| 1111 | F | 15 |
這就是為什麼十六進位在電腦領域如此流行 — 它是二進位的簡潔表示法。
注意事項
- 本計算機支援 0 到 1023(10 位元)的範圍
- 轉換步驟功能可幫助理解轉換過程,適合教學使用
- 實際電腦中使用 32 位元或 64 位元整數,範圍遠大於此
- 負數在電腦中使用「二補數」表示法,本計算機不涵蓋
理解二進位是學習電腦科學的第一步。所有的程式、圖片、音樂,在電腦裡都是 0 和 1 的組合。