四種進位制比較
| 進位制 | 底數 | 使用符號 | 前綴 | 用途 |
|---|---|---|---|---|
| 二進位 | 2 | 0, 1 | 0b | CPU 運算、數位電路 |
| 八進位 | 8 | 0–7 | 0o | Unix 檔案權限 |
| 十進位 | 10 | 0–9 | 無 | 日常計算 |
| 十六進位 | 16 | 0–9, A–F | 0x | 記憶體位址、顏色值 |
快速換算對照表
| 十進位 | 二進位 | 八進位 | 十六進位 |
|---|---|---|---|
| 0 | 0000 | 0 | 0x0 |
| 1 | 0001 | 1 | 0x1 |
| 7 | 0111 | 7 | 0x7 |
| 8 | 1000 | 10 | 0x8 |
| 10 | 1010 | 12 | 0xA |
| 15 | 1111 | 17 | 0xF |
| 16 | 10000 | 20 | 0x10 |
| 255 | 11111111 | 377 | 0xFF |
| 256 | 100000000 | 400 | 0x100 |
| 1024 | 10000000000 | 2000 | 0x400 |
進位制轉換原理
任意進位制轉十進位
從右到左,每位數字乘以基數的次方:
二進位 1011 → 十進位
1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11
十六進位 FF → 十進位
F×16¹ + F×16⁰ = 15×16 + 15×1 = 240 + 15 = 255
十進位轉任意進位制
持續除以目標基數,收集餘數(從下往上讀):
十進位 25 → 二進位
25 ÷ 2 = 12 餘 1 12 ÷ 2 = 6 餘 0 6 ÷ 2 = 3 餘 0 3 ÷ 2 = 1 餘 1 1 ÷ 2 = 0 餘 1
由下往上讀:11001
十六進位與二進位快速換算
每個十六進位位 = 4 個二進位位(可直接對應):
| Hex | Bin | Hex | Bin |
|---|---|---|---|
| 0 | 0000 | 8 | 1000 |
| 1 | 0001 | 9 | 1001 |
| 2 | 0010 | A | 1010 |
| 3 | 0011 | B | 1011 |
| 4 | 0100 | C | 1100 |
| 5 | 0101 | D | 1101 |
| 6 | 0110 | E | 1110 |
| 7 | 0111 | F | 1111 |
範例:0x2F = 0010 1111 = 十進位 47
Unix 檔案權限(八進位應用)
chmod 755 filename
| 數字 | 二進位 | 意義 |
|---|---|---|
| 7 | 111 | 讀(r) + 寫(w) + 執行(x) |
| 6 | 110 | 讀(r) + 寫(w) |
| 5 | 101 | 讀(r) + 執行(x) |
| 4 | 100 | 讀(r) 只讀 |
755 = 擁有者(7) + 群組(5) + 其他(5)