二進位數制轉換器
只需一次輸入,即可將非負整數在十進位、二進位、十六進位與八進位之間轉換。
十進位、二進位、十六進位與八進位互轉
在任一欄位輸入數值,再轉換成四種常用數制。
關於二進位數制轉換器
數制依據基底賦予書寫數字不同的位值。十進位以 10 為基底,使用零到九;二進位以 2 為基底,只使用零與一;八進位以 8 為基底,使用零到七;十六進位以 16 為基底,在十進位數字之外使用 A 到 F 表示十到十五。同一數量可以用每種數制表示,改變的只是寫法。
電腦以二進位狀態儲存資訊,因此基底 2 是數位電子與程式設計的基礎。二進位字串可能很長,八進位與十六進位提供更精簡的分組表示。每個十六進位數字恰好對應四個位元,每個八進位數字對應三個位元。例如十進位 255 等於二進位 11111111、十六進位 FF 與八進位 377。這是同一整數的四種寫法,不是四個不同數值。
四個欄位中的任何一個都可作為來源。輸入數值時,其他欄位會清空,並記錄目前使用的數制。選取「轉換數值」後,工具會檢查允許的數字字元、解析來源值,並填入等值的十進位、二進位、十六進位與八進位字串。十六進位輸出採大寫字母以利閱讀。前置零會被省略,因為它們不改變數值。
位值能說明轉換過程。二進位由右至左各位表示二的冪:一、二、四、八,依此類推。因此二進位 101010 等於 32 加 8 加 2,也就是十進位 42。十六進位 2A 等於兩個十六加十,同樣為 42。八進位 52 等於五個八加二,結果也為 42。
計算器接受位於 JavaScript 精確整數安全範圍內的非負整數。它刻意不處理小數或有號二補數解讀,因為這些需要決定精度、字組長度與編碼。以一開頭的二進位字串會被視為正的數值大小,不會自動當成負數。在位元層級的程式工作中,請先確定預期的字組長度,再將位元模式解讀為有號數。
可用此工具核對程式常數、學習位值、轉換數位邏輯值、讀取權限或比較編碼識別碼。手動核對時,由右向左將二進位每四位分組可轉成十六進位,每三位分組可轉成八進位。明確指定來源基底可避免把十進位 1010 誤認為二進位 1010;後者代表十進位的十。
數制轉換範例
| 來源 | 等值表示 | 說明 |
|---|---|---|
| 十進位 255 | 二進位 11111111、十六進位 FF、八進位 377 | 八個值為一的位元等於十進位 255。 |
| 二進位 101010 | 十進位 42、十六進位 2A、八進位 52 | 值為一的位元所對應的位權總和為 42。 |
| 十六進位 100 | 十進位 256、二進位 100000000、八進位 400 | 十六進位 100 等於十六的平方。 |
| 八進位 755 | 十進位 493、二進位 111101101、十六進位 1ED | 將常見的 Unix 權限記法當作數值轉換。 |
如何使用二進位轉換器
- 選擇符合來源值數制的欄位。
- 僅使用該基底允許的數字字元輸入非負整數。
- 選取「轉換數值」,計算四種等值表示。
- 讀取或複製需要的十進位、二進位、十六進位或八進位結果。
二進位轉換器常見問題
二進位如何轉成十進位?
將每個位元乘以對應的二的冪,再加總乘積。計算器會自動完成此位值計算。
十六進位為什麼使用字母?
基底 16 需要在零到九之外增加六個符號。字母 A 到 F 代表十進位的十到十五。
可以在任何欄位輸入嗎?
可以,最後編輯的欄位會成為來源。轉換後,四個欄位都會填入等值表示。
轉換器支援負的二進位數嗎?
不支援,本工具處理非負整數的數值大小。有號二進位需指定字組長度及二補數等編碼慣例。
為什麼移除前置零?
前置零不影響整數值。轉換器會以最精簡的標準形式顯示每個結果。