什麼是十六進制(Hexadecimal)?
十六進制是以 16 為底的數字系統,使用 0–9 加上 A–F 共 16 個符號:
| 十進制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 十六進制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
轉換公式
十六進制轉十進制
每個位數乘以 16 的次方後相加:
FF = F × 16¹ + F × 16⁰ = 15 × 16 + 15 × 1 = 240 + 15 = 255
1A3 = 1 × 16² + A × 16¹ + 3 × 16⁰ = 256 + 160 + 3 = 419
十進制轉十六進制
持續除以 16,取餘數,從下往上讀:
255 ÷ 16 = 15 餘 15(F) 15 ÷ 16 = 0 餘 15(F)
結果:FF
各進位制對照表
| 十進制 | 十六進制 | 二進制 | 八進制 |
|---|---|---|---|
| 0 | 0x00 | 0000 | 0 |
| 15 | 0x0F | 00001111 | 17 |
| 16 | 0x10 | 00010000 | 20 |
| 255 | 0xFF | 11111111 | 377 |
| 256 | 0x100 | 100000000 | 400 |
生活中的應用
HTML 顏色代碼
#FF6600 拆解:紅 FF(255)、綠 66(102)、藍 00(0),加總 16,777,216 種顏色。
記憶體位址
程式開發中,記憶體位址通常以十六進制表示,如 0x7FFE8A2C,讓人更容易辨認位元組邊界。
ASCII 碼
字母 A 的 ASCII 碼是十進制 65,十六進制 0x41。十六進制表示讓位元組的高低 4 位元一目瞭然。
MAC 位址
網路卡的 MAC 位址,如 AA:BB:CC:DD:EE:FF,每組都是十六進制,代表一個位元組。
位元組與位元
- 1 個十六進制位 = 4 位元(bits)
- 2 個十六進制位 = 1 位元組(byte)= 8 位元
- 8 個十六進制位 = 4 位元組(32-bit 整數)
因此,0xFF = 11111111(二進制),剛好是一個位元組的最大值。