tigtools

進位制轉換器

輸入一種進位制的數字,即可一次查看其二進位、八進位、十進位、十六進位,以及自選底數的表示方式。數字大小不限,也不會四捨五入。

在瀏覽器中執行 免註冊

空格和底線會忽略。開頭加上 - 表示負數。支援 0b、0o 和 0x 前綴。

二進位2 進位
八進位8 進位
十進位10 進位
十六進位16 進位

使用方式

  1. 選擇原始數字的底數:二進位、八進位、十進位、十六進位,或其他 2 到 36 進位。
  2. 輸入或貼上數字。可使用 0x 等前綴和 _ 等分隔符號。
  3. 一次查看數字在各種進位制下的表示方式,並複製所需結果。
  4. 使用最後一列轉換為其他底數,例如轉成 36 進位以產生短 ID。

運作方式

位值制會將數值表示為各位數字乘以底數的不同次方後再相加。二進位(底數 2)的每一位都是一個位元;八進位(底數 8)的每一位代表 3 個位元;十六進位(底數 16)的每一位代表 4 個位元,並使用字母 A–F 表示 10 到 15。底數大於 16 時會繼續使用字母,最多可到 36,使用所有數字 0–9 和字母 A–Z。

轉換器使用 JavaScript BigInt 算術,因此可以精確轉換任意長度的數字。一般浮點數超過 9,007,199,254,740,991 (2^53 − 1) 就會失去精確度,這也是某些轉換器處理 64 位元數值時會算錯的原因。

系統會依照所選底數逐位檢查輸入。若有無效字元,會指出第一個無效字元及其位置,例如二進位數字中的 2,或十六進位數字中的 G。字母不區分大小寫。空格和底線會忽略,因此可以貼上 1111_0000 或 DE AD BE EF 這類數值。系統接受前綴 0b(二進位)、0o(八進位)和 0x(十六進位);若輸入底數設為十進位,且數字以其中一種前綴開頭,系統會依前綴判定底數。

支援負數,轉換結果會在數值前加上負號(−255 的十六進位表示為 −FF)。本工具不會顯示二補數表示法,因為二補數取決於固定的位元寬度,例如 8、32 或 64 位元。不支援小數,只能轉換整數。

範例

解讀十六進位色碼或位元組值

0xFF 的十進位表示為 255,二進位表示為 1111 1111,也就是一個位元組的最大值。這和色碼 #FF0000 中的 FF 相同,代表紅色值為滿值。

Unix 檔案權限

八進位權限 755 的二進位表示為 111 101 101:擁有者有讀取、寫入和執行權限(7),群組和其他使用者則有讀取和執行權限(5)。十進位表示為 493。

大型 64 位元數值

最大的無號 64 位元整數,以十六進位表示為 FFFF FFFF FFFF FFFF,以十進位表示為 18446744073709551615。轉換會逐位精確完成,不會四捨五入。

常見問題

如何手動將二進位轉換為十進位?

將每個位元乘以其對應的 2 次方(從右側開始,次方從 0 起算),再把結果相加。以 1011 為例:1×8 + 0×4 + 1×2 + 1×1 = 11。

為什麼二進位和十六進位要每 4 位分組?

一個十六進位數字剛好對應 4 個位元,因此將二進位每 4 位分為一組,就能對應到十六進位數字:1101 1110 就是 DE。這樣用眼睛就能輕鬆在兩者之間轉換。

數字大小有上限嗎?

沒有固定的上限。由於本工具使用 BigInt,即使是數百或數千位數的數字,也能精確轉換。在較慢的裝置上,超長輸入可能需要稍候片刻。

可以轉換負數或分數嗎?

支援負整數,並會保留負號。不支援分數和小數點;小數點會被視為無效字元並回報。

36 進位有什麼用途?

36 進位使用 0–9 和 A–Z,是最精簡且不區分大小寫的英數表示法。常用於短 ID 和 URL 縮網址服務:例如,1,000,000 的 36 進位表示為 LFLS。

隱私權

轉換在您的瀏覽器中進行。您輸入的數字不會上傳、儲存或納入分析資料。