二進位轉十六進位轉換器
將冗長的 0 與 1 化繁為簡:程式設計師必備的 Hex 轉換工具
為什麼需要將二進位轉成十六進位?
二進位 (Binary) 雖然是電腦的原生語言,但對人類來說,它有一個致命缺點:「太長了」。
試著閱讀這串數字:111111110000000010101010。您的眼睛是不是花了?但如果把它轉換成十六進位 (Hex),它就變成了簡潔的 FF00AA。這就是為什麼在記憶體位址、色碼表與網路卡 MAC 位址中,我們幾乎看不到二進位,全部都是十六進位的天下。這款 二進位轉十六進位轉換器 能幫您快速完成這個「壓縮」過程,讓數據更易讀。
核心原理:神奇的「4 位元分組」
二進位轉十六進位之所以如此重要,是因為它們之間有著完美的數學關係:$2^4 = 16$。
這意味著,每 4 個二進位數字,剛好可以縮寫成 1 個十六進位符號。
8-4-2-1 速算法
要手動轉換,您只需要記住這四個權重:8, 4, 2, 1。
-
1111 = 8+4+2+1 = 15 = F
-
1010 = 8+0+2+0 = 10 = A
-
0101 = 0+4+0+1 = 5 = 5
如何手動計算? (三步驟教學)
不用計算機也能心算,請遵循以下步驟:
1. 從右往左,每 4 個切一刀
假設題目是 110110。
-
從最右邊開始數 4 個:
0110。 -
剩下不夠 4 個的:
11。 -
分組結果:
11|0110。
2. 前面補零 (Padding)
如果不滿 4 位,就在最左邊補 0。
-
11變成0011。 -
現在我們有兩組:
0011與0110。
3. 個別轉換並合併
-
0011(2+1) = 3。 -
0110(4+2) = 6。 -
答案: 36 (或是寫成 0x36)。
常見的應用場景
1. RGB 顏色代碼
網頁設計師常用的 #FFFFFF (白色),其實就是 3 組二進位的 11111111。
-
Hex: FF
-
Binary: 11111111
-
轉成 Hex 後,代碼長度縮短了 4 倍,方便撰寫 CSS。
2. 記憶體除錯 (Dump)
當程式當機,工程師打開 Memory Dump (記憶體傾印) 檔案時,看到的都是 0x00400000 這類的位址。透過轉換,工程師可以計算出實際的偏移量 (Offset) 或權限位元。
3. Unicode 編碼查詢
中文字 "你" 的 UTF-8 編碼是 E4 BD A0。這些都是十六進位,背後代表的是電腦實際儲存的 24 個 0 與 1。
常見問題 (People Also Ask)
Q1:二進位轉十六進位,為什麼要從右邊開始分組?
為了對齊位數 (Place Value)。
-
就像十進位的 123,最右邊是個位數。
-
二進位的最右邊也是最小位 ($2^0$)。如果在「右邊」補 0,數值會變大(就像 1 變成 10);但在「左邊」補 0,數值不變(1 變成 01)。
Q2:為什麼 Hex 用到 F 就停了?
因為 4 個 bits (1111) 的最大值就是 15。
-
0~9 (共10個) + A~F (共6個) = 16 個符號。
-
如果要表達 16,就會進位變成
10(Hex)。
Q3:這跟八進位 (Octal) 有什麼不同?
-
十六進位 (Hex): 4 個 bits 一組。
-
八進位 (Octal): 3 個 bits 一組 ($2^3=8$)。
-
現代電腦架構多以 8 bits (1 Byte), 32 bits, 64 bits 為主,這些都能被 4 整除,但不能被 3 整除,所以十六進位遠比八進位常用。
Q4:二進位太長了,可以直接輸入有空格的格式嗎?
可以。
-
為了閱讀方便,通常我們寫二進位會每 4 位或 8 位加一個空格(如
1100 0101)。本工具通常能自動忽略空格進行運算。