数据转换
十六进制与十进制互转。支持整数、IEEE 754 浮点数与设备字节序。
输入数值
支持空格和 0x 前缀,位数不足时左侧补零。
比较所有类型
下表按固定位宽和字节序解读输入,与上方普通进制换算不同。
| 数据类型 | ABCD(大端) | DCBA(小端) | BADC | CDAB |
|---|---|---|---|---|
UINT16 16位无符号整数 | - | - | - | - |
INT16 16位有符号整数 | - | - | - | - |
UINT32 32位无符号整数 | HEX: 40 48 F5 C3 DEC: 1078523331 | HEX: C3 F5 48 40 DEC: 3287631936 | HEX: 48 40 C3 F5 DEC: 1212204021 | HEX: F5 C3 40 48 DEC: 4123213896 |
INT32 32位有符号整数 | HEX: 40 48 F5 C3 DEC: 1078523331 | HEX: C3 F5 48 40 DEC: -1007335360 | HEX: 48 40 C3 F5 DEC: 1212204021 | HEX: F5 C3 40 48 DEC: -171753400 |
FLOAT32 32位浮点数 | HEX: 40 48 F5 C3 DEC: 3.140000104904175 | HEX: C3 F5 48 40 DEC: -490.564453125 | HEX: 48 40 C3 F5 DEC: 197391.828125 | HEX: F5 C3 40 48 DEC: -4.95020344754212e+32 |
UINT64 64位无符号整数 | HEX: 00 00 00 00 40 48 F5 C3 DEC: 1078523331 | HEX: C3 F5 48 40 00 00 00 00 DEC: 14120271646405165056 | HEX: 00 00 00 00 48 40 C3 F5 DEC: 1212204021 | HEX: 00 00 00 00 F5 C3 40 48 DEC: 4123213896 |
INT64 64位有符号整数 | HEX: 00 00 00 00 40 48 F5 C3 DEC: 1078523331 | HEX: C3 F5 48 40 00 00 00 00 DEC: -4326472427304386560 | HEX: 00 00 00 00 48 40 C3 F5 DEC: 1212204021 | HEX: 00 00 00 00 F5 C3 40 48 DEC: 4123213896 |
FLOAT64 64位浮点数 | HEX: 00 00 00 00 40 48 F5 C3 DEC: 5.32861326e-315 | HEX: C3 F5 48 40 00 00 00 00 DEC: -24536736669821305000 | HEX: 00 00 00 00 48 40 C3 F5 DEC: 5.989083625e-315 | HEX: 00 00 00 00 F5 C3 40 48 DEC: 2.0371383365e-314 |
转换详解
字节
选择字节,查看对应位二进制表示
IEEE 754 / FLOAT32如何转换
阅读文章: 浮点数与十六进制互转:IEEE 754、字节序与 Modbus 寄存器
十六进制如何换算为十进制
从右向左,将每一位乘以 16 的对应次幂,再求和。十进制转十六进制时,连续除以 16,将余数倒序排列。
FF₁₆ = 15 × 16¹ + 15 × 16⁰ = 255₁₀
常用十六进制与十进制对照
先确定数值格式
将 FF 转为 255,选择 HEX 和 UINT16;将 IEEE 754 字节 3F800000 转为 1,选择 HEX、FLOAT32 和 ABCD。同一组字节在不同类型下可能表示不同数值。
可用功能
- 将十进制数编码为十六进制字节,或将字节解析为十进制数。
- 比较 16、32、64 位有符号和无符号整数,以及 FLOAT32、FLOAT64。
- 查看字节顺序、16 位寄存器和二进制字段。
- 复制结果,或在下方比较所有支持类型。
操作步骤
- 1. 选择十进制或十六进制输入。
- 2. 输入数值,选择数据类型。
- 3. 按设备要求选择字节序,查看结果。
- 4. 在下方比较各类型结果;短横线表示该类型无法表示此数值。
选择转换方式
| 用途 | 输入数值 | 数据类型 | 字节序 | 结果 |
|---|---|---|---|---|
| 十六进制转十进制 | FF | UINT16 | AB | 255 |
| 十进制转十六进制 | 255 | UINT16 | AB | 00 FF |
| 十六进制转浮点数 | 3F800000 | FLOAT32 | ABCD | 1 |
| 有符号整数 | FFFF | INT16 | AB | -1 |
整数进制转换选 INT/UINT;浮点数字节解码选 FLOAT32/FLOAT64。
输入要求
- 整数类型请输入整数。FLOAT32 和 FLOAT64 接受有限小数和科学计数法。
- 使用 0–9、A–F,可带空格和 0x 前缀,例如 0x3F800000 或 3F 80 00 00。
- 位数不足时左侧补零;非法字符或超出所选类型长度的字节不会被转换。
选择数据类型
整数UINT 为无符号整数,INT 使用补码。FFFF 按 UINT16 解析为 65535,按 INT16 解析为 -1。短输入补零:FF 补为 00FF,按 INT16 解析为 255。
IEEE 754 浮点数FLOAT32 包含 1 位符号、8 位指数和 23 位尾数;FLOAT64 分别为 1、11、52 位。HEX 位模式也可表示带符号的零、无穷大和 NaN。
超出范围时,上方显示错误,下方对照结果显示短横线。
匹配字节序
- ABCD:保持顺序,例如 12 34 56 78。
- DCBA:反转全部字节,例如 78 56 34 12。
- BADC:交换每个 16 位寄存器内的字节,例如 34 12 78 56。
- CDAB:交换每四字节内的两个寄存器,例如 56 78 12 34。
16 位数值使用 AB 或 BA。64 位数值的 CDAB 在每四字节内交换寄存器;具体顺序请以设备手册为准。
常见转换问题
如何把十六进制转为十进制?
选择 HEX 和整数类型:FF 按 UINT16 转换得到 255。更大的无符号数可选择 UINT32 或 UINT64。IEEE 754 转换是解释浮点编码,不是简单的进制换算。
如何解析 IEEE 754 浮点数?
选择 HEX、FLOAT32 和 ABCD,输入 3F800000,结果为 1。64 位双精度数请选择 FLOAT64,3FF0000000000000 对应 1。
为什么 FFFF 可以表示 -1?
INT16 按补码解析 FFFF,结果为 -1;UINT16 解析为 65535。FF 会补为 00FF,在这两种 16 位类型下均为 255。
BADC 与 CDAB 有什么区别?
BADC 交换每个 16 位寄存器内的两个字节;CDAB 交换每四字节内的两个寄存器。请选择设备要求的顺序;字节序不会反转字节内部的位。
64 位整数结果是否精确?
本转换器保留整数范围内的每一位数字。UINT64 范围为 0–18446744073709551615,INT64 为 -9223372036854775808–9223372036854775807。十进制整数输入必须使用整数字符。
十六进制位数不足时如何处理?
按所选类型在左侧补零,例如 FF 在 16 位类型下补为 00 FF。支持空格和 0x 前缀;非法字符和多余字节会报错。
为什么 FLOAT32 的 3.14 会有细微差异?
FLOAT32 保存最接近的可表示二进制值。3.14 编码为 40 48 F5 C3,实际表示 3.140000104904175,这是浮点舍入造成的。
这里能转换文本或颜色代码吗?
本工具处理数值及其字节编码,不提供文本编码解码或 RGB 颜色转换。解析寄存器数据时请选择整数或 IEEE 754 类型。
用于设备数据检查
- 解析 Modbus 寄存器数值
- 检查 PLC 有符号与无符号数
- 查看设备参数字节
- 比较协议字节序
- 核对传感器与变送器读数
- 读取成对的 16 位寄存器
- 比较整数与浮点解释
- 核对记录中的十六进制数值