如何将十六进制转换为二进制
- 输入一个十六进制数,例如
3F或0xDEAD。也可以粘贴每行一个数字的列表。 - 二进制结果会立即显示。勾选数字分组可按半字节分隔结果,勾选有符号可将结果补齐到 8、16、32 或 64 位。
- 按照分步说明查看每一位十六进制数字对应的 4 位二进制,然后复制二进制结果。
十六进制转二进制对照表
每一位十六进制数字对应一个 4 位二进制组,称为半字节(nibble)。记住或收藏这张表,就能手动把任何十六进制数转换为二进制。
| 十六进制 | 二进制 | 十进制 |
|---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
A | 1010 | 10 |
B | 1011 | 11 |
C | 1100 | 12 |
D | 1101 | 13 |
E | 1110 | 14 |
F | 1111 | 15 |
十六进制如何转换为二进制
因为 16 = 2⁴,所以一位十六进制数字总是恰好代表四个二进制位,两位十六进制数字代表一个字节。转换时,只需对照上表把每一位数字替换为对应的 4 位二进制,再依次连起来:
2F9 → 2 = 0010,F = 1111,9 = 1001 → 0010 1111 1001
开头的零可以省略,得到 1011111001(十进制 761)。但数字中间的零必须保留:C3 是 1100 0011,而不是 11 0011。
代码实现:Python 用 format(int('2F9', 16), 'b'),JavaScript 用 parseInt('2F9', 16).toString(2)(数值较长时用 BigInt('0x' + hex).toString(2))。Excel 的 =HEX2BIN("1A", 8) 会返回 00011010,但最多只能处理到 1FF。
常见问题
为什么一位十六进制数字等于 4 个二进制位?
因为 16 = 2⁴。四个二进制位恰好有 16 种组合,从 0000 到 1111,正好对应 0 到 F 这 16 个十六进制数字。因此十六进制是书写二进制的一种紧凑方式:两位十六进制数字就能描述一个字节。
十六进制 FF 转二进制是多少?
FF 的二进制是 1111 1111,即八个 1,也就是一个字节能表示的最大值(十进制 255)。
需要保留前导零吗?
前导零不会改变数值:0001 1010 和 11010 都等于 26。当你需要固定位宽(例如完整的一个字节或一个寄存器)时,就应该保留它们;勾选“数字分组”或“有符号”即可自动补齐结果。
带小数部分的十六进制数可以转换吗?
可以。小数点后的每一位同样对应 4 个二进制位,因此 1A.8 = 0001 1010.1000,即二进制 11010.1,换算成十进制是 26.5。