進位轉換
二進位、八進位、十進位、十六進位與 2–36 任意進位互相轉換,支援超大整數、負數與 2 補數。
在任一欄輸入整數,其他欄會即時轉換。可加正負號,也可貼上 0b、0o、0x 開頭的數字。
2 補數
輸入數值後,這裡會列出它在固定位元數下的 2 補數表示。
使用說明
- 在二進位、八進位、十進位、十六進位或自訂進位的任一欄輸入整數,其他欄會即時換算。
- 「自訂進位」可以設定 2 到 36 之間的任何進位,超過 10 的數字以英文字母 a–z 表示。
- 需要時開啟「數字分組」(二進位與十六進位每 4 位、其他每 3 位一組)或「英文字母大寫」。
- 在「2 補數」選擇 8、16、32 或 64 位元,查看負數在電腦中的位元表示,或把 0xFF 這類位元樣式讀成有號數。
常見問題
可以轉換多大的數字?
工具使用 JavaScript 的 BigInt,整數大小沒有固定上限,超過 64 位元也能精確轉換;為了避免頁面卡住,單一欄位最多 4,096 個字元。
支援小數嗎?
不支援。小數在不同進位間常常無法有限位數表示(例如十進位的 0.1 在二進位是無限循環小數),為了避免顯示近似值造成誤解,這個工具只處理整數。
0b、0o、0x 前綴怎麼用?
0b 代表二進位、0o 代表八進位、0x 代表十六進位,與 JavaScript、Python 等程式語言相同。在對應的欄位可以直接貼上;在其他欄位貼上時,只要前綴字母不是該進位的數字,就會依前綴換算並提示。注意在十六進位欄中 b 是數字,所以 0b1 會被當成十六進位的 B1。
負數怎麼表示?
各進位欄位以正負號表示負數,例如 −255 是 −ff。電腦中的負整數通常以 2 補數儲存,可以在「2 補數」區塊選擇位元數查看,例如 8 位元的 −1 是 1111 1111(0xFF)。
什麼是 2 補數?
n 位元的 2 補數用 0 到 2ⁿ − 1 的位元樣式表示 −2ⁿ⁻¹ 到 2ⁿ⁻¹ − 1 的整數:負數 x 存成 2ⁿ + x。所以同一個位元樣式可以讀成無號數(255)或有號數(−1)。
我的資料會被上傳嗎?
不會。所有換算都在你的瀏覽器中完成,不需要連網。