功能介紹
進位轉換器會同時以所有常見的位值記數系統顯示同一個整數:二進位(base 2)、八進位(base 8)、十進位(base 10)、十六進位(base 16)和三十六進位(base 36)。用其中任一種進位輸入數字,其他進位都會隨打即更新,每一列都有自己的複製按鈕。
程式設計師經常需要轉換進位:讀十六進位的色碼或記憶體位址、用二進位檢查位元旗標和遮罩、用八進位設定 Unix 檔案權限(755),或用三十六進位縮短 ID。
使用方式
- 在輸入框中輸入或貼上數字,或按 範例。
- 輸入進位 保持自動時,會辨識
0x、0o和0b前綴,沒有前綴的數字當作十進位。若要直接輸入像ff這樣不含前綴的十六進位數字,請自己選擇進位。 - 開啟 數字分組 可以把長結果切成易讀的組:二進位和十六進位每 4 位一組,十進位和八進位每 3 位一組。
- 用每一列的複製按鈕複製結果。位元數 這一列會告訴你這個值需要多少位元,挑選整數型別時很有用。
範例
0xFF5733 是 CSS 中的一種橘色,換算結果如下:
| 進位 | 值 |
|---|---|
| 十進位 | 16734003 |
| 二進位 | 111111110101011100110011 |
| 八進位 | 77653463 |
| 三十六進位 | 9yo1f |
它需要 24 位元,紅、綠、藍各佔一個位元組。
進位轉換的原理
在 b 進位中,每一位數的權重是它右邊那一位的 b 倍。十六進位的 ff 等於 15 × 16 + 15 = 255。轉換到另一種進位時,就是反覆除以新的基數,再把餘數倒過來讀。由於 16 = 2⁴、8 = 2³,每一個十六進位數字剛好對應四個二進位數字,每一個八進位數字對應三個,這也是為什麼十六進位是書寫二進位的精簡方式。
常見問題
› 最大可以轉換多大的數字?
實際上沒有上限。轉換器使用任意精度整數(BigInt),所以 64 位元、128 位元甚至更長的值都能精確轉換,不像一般計算機超過 2^53 就會失去精度。
› 怎麼輸入十六進位或二進位數字?
輸入進位設為自動時,十六進位加上 0x 前綴、二進位加 0b、八進位加 0o,例如 0xff 或 0b1010。也可以從選單選擇進位,再直接輸入不含前綴的數字。
› 負數會怎麼顯示?
以負號加上絕對值表示,例如 -255 在十六進位是 -ff。這個工具不會轉換成固定位元寬度的二補數形式。
› 可以貼上帶有分隔符號的數字嗎?
可以。空格、底線和逗號都會被忽略,所以 1_000_000 和 1,000,000 都能用。開啟數字分組後,結果會重新加上空格分組。