進位轉換器

在二進位、八進位、十進位、十六進位以及 2 到 36 之間的任意進位之間轉換整數。輸入一個值並選擇其進位,其他所有進位會即時更新。支援任意大小的整數(精確,不四捨五入)。

什麼是進位(基數)?

進位(又稱基數)指的是一個位置制數系統所使用的相異數字個數。base 10(十進位)使用 0–9 這十個數字;base 2(二進位)則只用 0 和 1。在任何進位中,每個位置的權值都是該基數的次方,因此二進位數 1011 代表 1×8 + 0×4 + 1×2 + 1×1 = 11(十進位)。

四種常見的進位

  • 二進位(base 2)是電腦的原生語言:每個位元不是 0 就是 1,正好對應電路的關閉/開啟狀態。
  • 八進位(base 8)將三個位元合併成一個數字,長期用於表示 Unix 檔案權限,例如 755。
  • 十進位(base 10)是人們日常使用的數系,採用 0–9 這十個數字。
  • 十六進位(base 16)是書寫二進位的精簡方式——一個十六進位數字等於四個位元,因此一個位元組剛好是兩個十六進位數字(FF = 255)。它常用於顏色、記憶體位址與位元組傾印。

如何在不同進位之間轉換

  • 十進位轉二進位:反覆除以 2 並記錄每次的餘數,再由下往上讀出。13 會變成 1101。
  • 二進位轉十進位:將每個數字乘以其位值(…8、4、2、1)後相加。1101 會變成 8 + 4 + 0 + 1 = 13。
  • 十六進位轉二進位:一次將一個十六進位數字轉換成四個位元。FF 會變成 1111 1111,2A 則變成 0010 1010。

進位轉換表

常見十進位數值對應的二進位、八進位與十六進位表示。

十進位 二進位 八進位 十六進位
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010
321000004020
64100000010040
100110010014464
1281000000020080
25511111111377FF
256100000000400100
51210000000001000200
1024100000000002000400

2 的次方

次方 十進位數值 十六進位
2011
2122
2244
2388
241610
253220
266440
2712880
28256100
29512200
2101024400
2166553610000
2201048576100000
230107374182440000000
2324294967296100000000

常見問題

我可以在哪些進位之間轉換?

2 到 36 之間的任意進位。數字 0-9 及其後的 a-z 表示 0 到 35 的值,因此十六進位使用 0-9 和 a-f,三十六進位使用 0-9 和 a-z。

數字大小有限制嗎?

沒有。轉換使用任意精度整數,因此非常大的數值(數百位)也能精確轉換,不會四捨五入或溢位。

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

將十進位數反覆除以 2 並記錄每次的餘數;從最後一個餘數讀到第一個即為二進位表示。

電腦為什麼使用二進位?

數位電路具有兩種穩定狀態——關閉與開啟——正好直接對應 0 和 1,使二進位成為以電子方式儲存與處理資料最可靠的方式。

十六進位有什麼用途?

十六進位是二進位的一種易讀簡寫:顏色(#FF9E0B)、記憶體位址、MAC 位址與位元組層級的資料幾乎都以十六進位書寫,因為一個十六進位數字剛好對應四個位元。

base 36 使用幾個數字?

base 36 使用 0–9 接著 a–z,總共三十六個符號——這是本工具在標準英數字元集下所支援的最大進位。