如何使用十六进制转十进制转换器
- 在输入框中输入或粘贴十六进制数。支持
0x、#等前缀、末尾的h,以及空格和下划线。每行输入一个数字即可批量转换。 - 十进制结果会立即显示,同时给出二进制和八进制值,以及详细的分步计算说明。
- 如果十六进制值是有符号整数,请勾选有符号(补码)并选择位宽,例如
FF作为 8 位有符号数是 −1。然后复制结果即可。
十六进制转十进制的方法与公式
十六进制是一种基数为 16 的计数系统,使用数字 0–9 和字母 A = 10,B = 11,C = 12,D = 13,E = 14,F = 15。每一位的位权是其右边一位的 16 倍,因此十六进制转十进制的公式为(decimal 即十进制结果):
decimal = dₙ × 16ⁿ + … + d₂ × 16² + d₁ × 16¹ + d₀ × 16⁰
从右往左、从 0 开始给每一位编号,把每一位数字乘以 16 的相应次幂(即“按权展开”),再将结果相加。示例:3C = 3 × 16 + 12 = 60,1A3F = 1 × 4096 + 10 × 256 + 3 × 16 + 15 × 1 = 4096 + 2560 + 48 + 15 = 6719。
| 位置 | 16 的幂 | 十进制值 |
|---|---|---|
| 0 | 16⁰ | 1 |
| 1 | 16¹ | 16 |
| 2 | 16² | 256 |
| 3 | 16³ | 4096 |
| 4 | 16⁴ | 65536 |
| 5 | 16⁵ | 1048576 |
十六进制转十进制对照表
下面是最常被查询的十六进制值及其对应的十进制数。一个字节的取值范围是 00 到 FF(0–255);备注列给出了对应的 ASCII 字符或该数值在编程中的含义。
| 十六进制 | 十进制 | 备注 |
|---|---|---|
10 | 16 | 16¹ |
1A | 26 | 1 × 16 + 10 |
20 | 32 | ASCII 空格 |
2A | 42 | ASCII * |
3C | 60 | ASCII < |
64 | 100 | ASCII d |
7F | 127 | 8 位有符号数的最大值 |
80 | 128 | 作为有符号字节时为 −128 |
FF | 255 | 字节的最大值;作为有符号字节时为 −1 |
100 | 256 | 16² |
3E8 | 1000 | 3 × 256 + 14 × 16 + 8 |
7FFF | 32767 | 16 位有符号数的最大值 |
FFFF | 65535 | 16 位数的最大值;作为 16 位有符号数时为 −1 |
7FFFFFFF | 2147483647 | 32 位有符号整数的最大值 |
FFFFFFFF | 4294967295 | 32 位无符号整数的最大值 |
在 Python、JavaScript 和 Excel 中将十六进制转十进制
- Python:
int('1A', 16)返回 26;也可以带0x前缀:int('0xff', 16)= 255。 - JavaScript:
parseInt('1A', 16)或Number('0x1A')。数值超过 2⁵³ 时,请使用BigInt('0x' + hex)以避免舍入误差。 - Excel 和 Google 表格:
=HEX2DEC("1A")。Excel 会把 10 位十六进制值当作 40 位有符号数,所以=HEX2DEC("FFFFFFFFFF")返回 −1。 - Java、C# 和 C:
Integer.parseInt("1A", 16)、Convert.ToInt32("1A", 16)和strtol("1A", NULL, 16)。 - Linux 和 macOS 终端:
echo $((16#1A))或printf '%d\n' 0x1A。
为什么选择 Online Hex Converter?
- 免费所有工具完全免费,不限次数,无需注册账号,也不会添加水印。
- 隐私安全所有处理均在您的浏览器本地完成。文件绝不会被上传。
- 快速页面轻量,在任何设备上都能瞬间加载。
- 随处可用支持 Windows、macOS、Linux、Android 和 iPhone。
常见问题
十六进制 FF 转十进制是多少?
十六进制 FF 等于十进制 255:15 × 16 + 15 = 255。这是一个字节能存储的最大值。如果按 8 位有符号数(补码)解读,同样的二进制位表示 −1。
负的十六进制数如何转换为十进制?
如果十六进制数带负号,只需转换数字部分并保留负号:−1A = −26。如果是 FFFE 这样的补码值,请勾选有符号(补码)并选择 16 位:转换器会用 65534 减去 2¹⁶ = 65536,得到 −2。
带小数的十六进制数可以转换为十进制吗?
可以。小数点后各位的位权依次是 16⁻¹ = 1/16、16⁻² = 1/256,以此类推,所以 1A.8 = 26 + 8/16 = 26.5,0.4 = 0.25。
十六进制数的长度有限制吗?
实际上没有限制。转换器使用任意精度整数,因此 FFFFFFFFFFFFFFFF(18446744073709551615)这样的 64 位数值,甚至更长的十六进制字符串,都能精确转换,不会产生舍入误差。