什麼是進位轉換計算機?
進位轉換計算機可以把同一個數字從一種進位制換算成另一種——例如從二進位(基數 2)轉成十進位(基數 10),或從十進位轉成十六進位(基數 16)。電腦底層的一切資料都是以二進位儲存,網路工程師習慣用十六進位閱讀位址,部分老舊系統則沿用八進位,因此在寫程式、電子電路與計算機概論課程中,進位互轉幾乎是天天要做的事。本工具支援二進位、八進位、十進位與十六進位,任意方向皆可轉換。
使用方式
先輸入想轉換的數字,在「來源進位」中選擇它目前所屬的進位制,再到「目標進位」選擇你要換算成的進位制。十六進位會用到 A–F 這幾個字母(大小寫皆可)。計算機除了顯示你指定進位的結果,也會一併附上十進位的對照值,方便你隨時核對答案。
公式原理解析
轉換分成兩個步驟。第一步,先用位值法把輸入值還原成十進位:將每一位數字乘以「基數的位置次方」後相加。
$$\text{Decimal} = \sum_{i=0}^{k-1} d_i \cdot \text{From Base}^{\,i} \;\longrightarrow\; \text{Output in } \text{To Base}$$以二進位 1010 為例,即 \(1\times2^3 + 0\times2^2 + 1\times2^1 + 0\times2^0 = 8 + 0 + 2 + 0 = 10\)。第二步,再用連除法把這個十進位數值換算成目標進位:不斷除以新的基數並記下每次的餘數,最後把餘數由下往上(從最後一個到第一個)依序讀出即可。
實際範例
把十六進位 FF 轉成十進位。用位值法計算
$$F\times16^1 + F\times16^0 = 15\times16 + 15\times1 = 240 + 15 = 255$$接著若要把 255 表示成二進位,以 2 連除後可得 11111111——這正是一個 8 位元位元組(byte)所能表示的最大值。
常見進制轉換參考表
此表列出四種標準進制中常用的值。十進制(10進制)是日常計數系統;二進制(2進制)、八進制(8進制)和十六進制(16進制)在計算中很常見。注意二的每個冪 — 16、32、64、128、256 — 在十六進制中產生乾淨的單位數進位,在二進制中產生精確的冪。
| 十進制(10) | 二進制(2) | 八進制(8) | 十六進制(16) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
關鍵術語解釋
- 進制(基數)
- 一個數字系統使用的不同數位符號的個數。10進制使用十個符號(0–9);2進制使用兩個(0–1)。進制也決定了相鄰位置之間的乘數。
- 位置記數法
- 一種系統,其中一個數位的貢獻取決於其位置。每個位置代表一個連續的進制冪,從右到左遞增。
- 位值
- 單個數位的貢獻值,等於該數位乘以進制的該位置次冪。例如,八進制 745 中的首位 7 的位值為 \(7\times 8^2 = 448\)。
- 數位
- 一個數字中的單個符號。有效數位的範圍從 0 到(進制 − 1);十六進制用字母 A–F 表示 10–15。
- 半字節
- 4 位的一組。一個半字節正好對應一個十六進制數位(0–F),這就是為什麼二進制轉十六進制的轉換是通過將位分組成半字節來完成的。
- 字節
- 8 位的一組(兩個半字節),能夠表示 \(2^8 = 256\) 個值,從 0 到 255(十六進制中的 00 到 FF)。
- 最高有效位(MSD)
- 一個數字的最左邊的數位,具有最高的位值。
- 最低有效位(LSD)
- 最右邊的數位,具有最低的位值(進制的 0 次方,即 1)。
- 二進制(2進制)
- 使用數位 0 和 1。數字電子的原生語言,其中每一位都是開/關狀態。
- 八進制(8進制)
- 使用數位 0–7。每個八進制數位對應正好 3 個二進制位;在計算中歷史上很常見,在文件權限中仍在使用。
- 十進制(10進制)
- 使用數位 0–9。人類日常計數和算術的標準系統。
- 十六進制(16進制)
- 使用數位 0–9 和 A–F。緊湊地表示二進制,因為每個十六進制數位正好等於 4 位,廣泛用於記憶體位址和顏色代碼。
常見問題
十六進位裡的字母代表什麼?在基數 16 中,數字依序為 0–9,接著 \(A=10\)、\(B=11\)、\(C=12\)、\(D=13\)、\(E=14\)、\(F=15\)。
為什麼二進位是基數 2?二進位只用 0 和 1 兩個數字,正好對應電腦內部電子開關「開/關」兩種狀態。
可以轉換小數(分數)嗎?本計算機僅處理整數。小數的進位轉換需要另一套「乘以基數」的方法。