十六進位轉二進位轉換器
程式開發必備:將精簡的十六進位代碼還原為 0 與 1 的原始訊號
為什麼需要十六進位轉二進位?
在電腦科學的世界裡,機器只看得懂二進位 (0 和 1)。但對於人類工程師來說,要閱讀像 1111111111111111 這樣的數據實在太痛苦且容易眼花出錯。
因此,十六進位 (Hexadecimal) 誕生了。它是二進位的「縮寫」,能用更短的長度表達同樣的資訊。這款 十六進位轉二進位轉換器 能夠幫助程式設計師、網路工程師與電子相關科系學生,將這些被「壓縮」過的代碼 (如 0xA5) 快速還原成底層的機器語言 (10100101),以便進行位元運算 (Bitwise Operation) 或除錯。
核心概念:完美的 1 對 4 關係
為什麼電腦不用十進位,偏偏要用十六進位?
因為 $16 = 2^4$。這代表 1 個十六進位符號,剛好可以完美對應 4 個二進位數字 (4 bits)。
對照表速查
-
0 = 0000
-
1 = 0001
-
...
-
9 = 1001
-
A (10) = 1010
-
B (11) = 1011
-
C (12) = 1100
-
D (13) = 1101
-
E (14) = 1110
-
F (15) = 1111
常見的應用場景
1. 記憶體位址 (Memory Address)
在 C/C++ 或組合語言中,記憶體通常以 Hex 表示。
-
例子:
0xFF -
轉換: F=1111, F=1111。結果為
11111111(8 bits, 剛好 1 Byte)。 -
這讓工程師能一眼看出這個變數佔用了多少位元。
2. 網頁色碼 (Web Colors)
網頁設計常用的 RGB 色碼(如 #FF5733)其實就是 Hex。
-
紅 (R): FF ->
11111111(全亮,數值 255)。 -
綠 (G): 57 ->
01010111。 -
藍 (B): 33 ->
00110011。 -
透過轉換,您可以了解每個顏色通道 (Channel) 的二進位強度。
3. 網路遮罩與 MAC 位址
網路卡號碼 (MAC Address) 也是由 6 組 Hex 組成。在計算子網掩碼 (Subnet Mask) 時,常需要將 Hex 轉回 Binary 來進行邏輯 AND 運算。
如何手動計算? (拆分法)
不需要複雜的除法,只要「查表」即可。
題目: 將 3C 轉為二進位。
-
拆開: 把它看成
3和C兩個獨立的字。 -
轉換 3: 查表得
0011。 -
轉換 C: 查表得
1100。 -
合併:
00111100。簡單、快速、不容易錯,這就是 Hex 的優勢。
常見問題 (People Also Ask)
Q1:前面的 "0x" 是什麼意思?
這是「前綴符號 (Prefix)」。
-
在 C 語言、Java、Python 等程式語言中,為了讓電腦知道「後面這個數字是十六進位」,會在前面加上
0x。 -
例如
0x10代表十六進位的 16,而普通的10代表十進位的 10。 -
在使用本工具時,您可以輸入
0x也可以直接輸入數字。
Q2:A-F 有分大小寫嗎?
通常不分。
-
0xFF和0xff在數值上是完全一樣的。 -
不過在特定編碼規範中(如 URL 編碼),有時會習慣用大寫。
Q3:為什麼要有 A, B, C...?
因為阿拉伯數字只有 0~9,不夠表達 10~15。
-
如果直接寫 "10",會跟 "一、零" 搞混。
-
所以借用英文字母:A=10, B=11, C=12, D=13, E=14, F=15。
Q4:IPv6 位址是用什麼進位?
十六進位。
-
IPv4 (如 192.168.1.1) 是十進位。
-
IPv6 (如 2001:0db8...) 是十六進位。因為 IPv6 太長了 (128 bits),如果不縮寫成 Hex,人類根本無法閱讀。