透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

十六進位(base 16)
D6
0xD6
二進位輸入 11010110
十進位值 214
位元數量 8

什麼是二進位轉十六進位轉換器?

這個工具可以把以二進位(base 2,只有 0 和 1 兩個數字)表示的數值,轉換成十六進位(base 16,使用 0-9 與 A-F)。十六進位在程式設計、記憶體位址、色碼以及除錯時都被廣泛採用,因為它能用更精簡的方式表達二進位資料——每四個二進位位元(bit)剛好對應一個十六進位數字。

使用方式

在輸入框中輸入或貼上一組二進位數字,例如 11010110,然後送出。空格或多餘的字元都會被自動忽略,所以 1101 0110 一樣可以正常運作。結果會顯示對應的十六進位值、等值的十進位值,以及位元數量。

公式說明

這項轉換的關鍵在於 \(16 = 2^4\)。演算法會先在二進位字串左側補上 0,直到長度成為 4 的倍數,接著從右側開始,將其切分成一組組 4 位元的單位,稱為 nibble(半位元組)。每個 nibble 代表 0 到 15 之間的數值,計算方式為

$$\text{Hex}_{16} = \sum_{i=0}^{n-1} d_i \cdot 16^{i}, \quad d_i \in \{0\text{–}9,\,A\text{–}F\} \;\leftarrow\; \text{Binary (base 2)}$$

每個 nibble 的數值為 \(8\cdot b_3 + 4\cdot b_2 + 2\cdot b_1 + b_0\),這個數值再對應到單一的十六進位數字(0-9,接著是 A-F)。把這些數字依序連接起來,就得到最終的十六進位結果。

二進位數字按半位元組分組,每組對應一個十六進位數字
每四個位元(一個半位元組)對應一個十六進位數字。

實際範例

11010110 為例,切分成兩個 nibble:11010110。第一組等於 \(8+4+0+1 = 13 = D\);第二組等於 \(0+4+2+0 = 6\)。因此十六進位結果為 D6,換算成十進位即為 214。

二進制半字節到十六進制數字查詢表

將二進制轉換為十六進制的最快方法是將位分組為四位(稱為半字節),並將每個半字節替換為單個十六進制數字。因為 \(2^4 = 16\),每個 4 位模式恰好映射到 16 個十六進制數字之一。記住或參考下表可讓您逐個半字節轉換任何二進制數,無需進行除法。

4 位二進制(半字節) 十進制(十進制) 十六進制數字(十六進制)
0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F

實際工作範例:字節 11010110 分為 11010110。根據表格,這些映射到 D6,得到十六進制值 D6,等於十進制 214。如果二進制數的長度不是 4 的倍數,請在分組前在左側填充前導零(例如,101101 變為 0010 11012D)。

關鍵術語

最小的數位信息單位,保持單個二進制值 0 或 1。該詞是"二進制數字"的縮寫。
半字節
四位的一組。因為四位代表 \(2^4 = 16\) 個可能的值,一個半字節恰好對應一個十六進制數字 — 這就是為什麼二進制到十六進制的轉換如此直接。
字節
八位的一組(兩個半字節)。一個字節保持 \(2^8 = 256\) 個可能的值,並寫成恰好兩個十六進制數字,例如 11111111 = FF = 255。
基數 / 進制
位置數字系統使用的不同數字符號的數量,以及位值之間的乘數。二進制是基數 2,十進制是基數 10,十六進制是基數 16。在基數 \(b\) 中,位置 \(i\) 的數字(從右邊的 0 開始計數)的權重為 \(b^{i}\)。
二進制(基數 2)
一個只使用數字 0 和 1 的數字系統,其中每個位置都值得 2 的冪。它反映了數位電子設備的開/關狀態,使其成為計算機的原生語言。
十進制(基數 10)
使用數字 0 至 9 的日常數字系統,其中每個位置都值得 10 的冪。它在比較二進制和十六進制值時充當共同參考點。
十六進制(基數 16)
一個使用 16 個數字的數字系統:0–9 後跟 A–F(其中 A=10,B=11,C=12,D=13,E=14,F=15)。其緊湊性 — 每個半字節一個十六進制數字 — 使得長二進制字符串對人類來說更容易閱讀和寫入。
MSB / LSB
最高有效位是最左邊的位,承載最大的位置值(2 的最高冪)。最低有效位是最右邊的位,承載最小的值(\(2^0 = 1\))。同樣的"最高/最低有效"概念適用於十六進制的整個數字。
0x 前綴
一個常規標記,寫在數字之前,表示該值用十六進制表示 — 例如 0xD6 表示十六進制值 D6(十進制 214),而不是其他某個基數中的"D6"數字。它廣泛用於編程語言,如 C、Java 和 Python。二進制通常類似地以 0b 作為前綴。

常見問題

如果位元數無法被 4 整除怎麼辦?轉換器會自動在左側補 0,所以 1010110 會變成 0101 0110 = 56。

能處理開頭的 0 嗎?可以——最終的十六進位結果會去掉開頭多餘的 0,但這並不會改變數值大小。

輸出是大寫嗎?依照慣例,A-F 等十六進位數字會以大寫顯示,並在前面加上 0x 字首以利辨識。

最後更新: