要把二進位轉換成十進位,請將每個二進位數字乘以對應的 2 的冪次(…8、4、2、1),從右邊開始,然後把結果相加 — 舉例來說,二進位數字 1010 等於 (1×8) + (0×4) + (1×2) + (0×1) = 10 (十進位)。這就是位值法,無論二進位數字有多長、包含多少位數,這個方法都適用。唯一的重點是二進位只有 0 和 1 兩個合法數字,所以任何其他符號都是錯誤的。當二進位字串很短 — 比如說四位數 — 你可以在腦中運算。當字串變長時,相同的邏輯仍然適用,但運算會變得枯燥乏味,這正是免費的 Number Base Converter 能派上用場的地方,它能自動執行乘法與加總,並一次顯示四種常見進位的結果。

「二進位轉十進位」真正的意思
把二進位轉換成十進位,意思就是把以 2 為基數、僅使用 0 與 1 兩位數寫成的數字,重新寫成以 10 為基數、使用 0 到 9 各位數的相同數值。兩種字串看起來截然不同,但它們代表完全一樣的數量。例如,數字十在二進位寫成 "1010",在十進位則寫成 "10"。數字兩百五十五在二進位寫成 "11111111",在十進位則寫成 "255"。
「基數」其實就是兩個相關的概念:該進位制使用多少個不同的數字,以及每個位置的位值是多少。十進位(以 10 為基數)使用十個數字(0–9),每位都是 10 的冪次 — 個位、十位、百位、千位。二進位(以 2 為基數)使用兩個數字(0 與 1),每位都是 2 的冪次 — 個位、2 位、4 位、8 位、16 位,依此類推。概念相同,只是乘數不同。這就是所有進位轉換問題背後的完整故事。
二進位之所以重要,是因為它是每個數位電路的原生語言。電晶體不是關閉(0)就是開啟(1),而位元 (bit) — binary digit 的縮寫 — 是電腦能儲存的最小資訊單位。位元組 (byte,八個位元)、千位元組、兆位元組、IP 位址、子網路遮罩以及機器指令,底下全都是一層又一層的 1 與 0。程式設計師為了網路遮罩而讀取二進位、除錯位元旗標,並檢查原始記憶體傾印。這就是為什麼能夠在二進位與十進位之間快速切換,是一項日常任務,而不是冷門技能。
二進位轉十進位的位值公式
把二進位轉換成十進位的標準方法稱為位置展開法 (positional expansion)。你取出每一位數,將它乘以對應的 2 的冪次,計數方式是從右邊開始(最右邊的數字是 1 位數的位置,再來是 2 位數的位置,然後是 4 位、8 位、16 位,依此類推),接著把所有乘積相加。這個總和就是該二進位字串的十進位數值。
逐步運算二進位數字 1010:
- 最右邊的數字 0 位於 1 位數的位置 → 0 × 1 = 0
- 下一個數字 1 位於 2 位數的位置 → 1 × 2 = 2
- 下一個數字 0 位於 4 位數的位置 → 0 × 4 = 0
- 最左邊的數字 1 位於 8 位數的位置 → 1 × 8 = 8
- 總和:0 + 2 + 0 + 8 = 10
所以 1010 (二進位) = 10 (十進位)。數字本身並未改變;改變的只是每個位置的意義。
同樣的邏輯可以無限擴展。對於 n 位數的二進位數字,最左邊的位置值為 2n−1。對於全為 1 的八位數二進位字串,可得 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255,這就是為什麼 11111111 (二進位) = 255 (十進位)。完整寫出公式如下:
十進位數值 = d₀ × 2⁰ + d₁ × 2¹ + d₂ × 2² + … + dₙ × 2ⁿ
其中每個 dᵢ 不是 0 就是 1。任何以 N 為基數的進位系統都遵循相同的模式,只要把 2 換成 N 即可。
三步驟把二進位轉換成十進位
Number Base Converter 會自動套用位值公式,在你輸入的同時驗證每一個字元,並同時以四種常見進位印出結果,讓你不必轉換兩次。完整操作流程很短。
- 把二進位數字輸入到數值欄位。二進位中只有 0 和 1 是合法數字,允許使用前置負號表示負數。字母雖然可以輸入,但只有你所選擇的進位制實際定義的那些字母才會生效。
- 把「來源進位」設為二進位 (2),把「目標進位」設為十進位 (10)。同一段輸入若以不同進位解讀,會得到完全不同的答案,因此這兩項設定才是關鍵所在。
- 讀取轉換後的結果。十進位答案會立刻出現,且同一個數值也會同時以二進位、八進位和十六進位顯示,方便你複製接下來需要的任一種表示法。
這個轉換器具備雙向功能,也能處理反向路徑 — 十進位轉二進位、十六進位轉十進位、八進位轉十六進位,以及 2 到 36 之間的任何進位。若讀者想從不同的起點或終點進位套用相同邏輯,一篇專題導覽 how to convert between number bases in any direction 涵蓋了其他進位對之間的相同推理過程。
可靠的二進位轉十進位轉換器會驗證什麼
二進位轉十進位看似無害,直到你打錯一位數字。造成最多困惑的兩種失敗模式,是輸入不屬於該進位的數字,以及信任一個會默默四捨五入或截斷的轉換器。Number Base Converter 能正確處理這兩種情況。
非法數字會被標記出來,而不會被隱藏。如果你把二進位設為來源進位,然後輸入 "102",那個 "2" 會被清楚標示為錯誤,而不是被默默略過或當作有效數字使用。一個默默接受無效輸入的轉換器是危險的,因為它會回傳數值上自洽但語意上錯誤的答案。本工具會精確指出錯誤字元的位置,讓你能修正它。同樣的邏輯也適用於十六進位(僅接受 0–9 與 A–F)、八進位(僅接受 0–7),以及其他所有進位。字母不區分大小寫,所以 "FF" 和 "ff" 都等於 255。
任意大小的整數都能精準轉換。在底層,這個轉換器使用任意精度整數運算,而非固定寬度的整數,因此即使是很長的二進位字串也不會溢位,也不會像一般的 32 位元或 64 位元整數那樣喪失精度。對大多數實際輸入來說這是看不見的,但如果你貼上一個長達數百位數的二進位字串 — 例如 RSA 模數或 SHA-256 雜湊 — 轉換結果依然精確無誤。小數與小數點刻意不予支援,因為分數值的進位轉換是更複雜的操作,而本工具聚焦於整數。
允許前置負號。你可以輸入 "-1010",結果就會是 "-10",無需任何特殊切換。結合任意精度運算,這代表任何支援進位中的負整數,其轉換方式與正整數相同,且結果仍然精確。
二進位—十進位速查表
下表彙整了運算工作中最常出現的二進位—十進位對應值 — 也就是程式設計師在位元旗標、色彩通道、子網路八位元組和 ASCII 碼中會看到的位元組數值。這些是電腦硬體與軟體中通用的標準數值;這個轉換器能產生這些以及更多的數值。
| Binary (base 2) | Decimal (base 10) | Where it shows up |
|---|---|---|
| 0000 | 0 | Off bit, null byte |
| 0001 | 1 | On bit, true flag |
| 0010 | 2 | Bit 1 set |
| 0100 | 4 | Bit 2 set |
| 1000 | 8 | Bit 3 set |
| 1111 | 15 | Single hex digit F |
| 11111111 | 255 | One byte all bits set; white in RGB |
| 100000000 | 256 | One byte + 1; range of unsigned 8-bit |
| 10000000000000000 | 65 536 | Unsigned 16-bit maximum |
| 1100100 | 100 | Common benchmark value |
這張表中的關係無論你用什麼方式推導,都維持不變。如果你需要的數值不在表中,請把二進位形式貼到 Number Base Converter,並設定「來源進位 = 二進位」與「目標進位 = 十進位」,直接讀取答案即可。若是反方向 — 例如你需要某個十進位位元組值轉成二進位作為暫存器遮罩 — 同一個工具只要把設定對調,就能立刻顯示答案。
如果你正在權衡各種方案,Paper Weight Conversion by Grade: GSM vs lb Explained 對此有詳細說明。