数据转换

批量转换

每行一个值,空行忽略。最多 200 条。

输入数值后点击转换。

十六进制与十进制互转。支持整数、IEEE 754 浮点数与设备字节序。

输入格式

支持空格和 0x 前缀,位数不足时左侧补零。

示例

比较所有类型

下表按固定位宽和字节序解读输入,与上方普通进制换算不同。

数据类型ABCD(大端)DCBA(小端)BADCCDAB
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
字节序保持字节顺序
HEX40 48 F5 C3
DEC
3.140000104904175

字节

选择字节,查看对应位
16 位寄存器
010x4048020xF5C3

二进制表示

IEEE 754 / FLOAT32
31解析字节0
符号位0指数128小数部分4781507(1 + 4781507 ÷ 2²³) × 2⁽¹²⁸⁻¹²⁷⁾ = 3.140000104904175

如何转换

阅读文章: 浮点数与十六进制互转:IEEE 754、字节序与 Modbus 寄存器

十六进制如何换算为十进制

从右向左,将每一位乘以 16 的对应次幂,再求和。十进制转十六进制时,连续除以 16,将余数倒序排列。

FF₁₆ = 15 × 16¹ + 15 × 16⁰ = 255₁₀

常用十六进制与十进制对照

0 HEX0 DEC
1 HEX1 DEC
9 HEX9 DEC
A HEX10 DEC
F HEX15 DEC
10 HEX16 DEC
7F HEX127 DEC
80 HEX128 DEC
FF HEX255 DEC
100 HEX256 DEC
1000 HEX4096 DEC
FFFF HEX65535 DEC

FF → 255255 → 00 00 00 FF3F800000 → FLOAT32

先确定数值格式

将 FF 转为 255,选择 HEX 和 UINT16;将 IEEE 754 字节 3F800000 转为 1,选择 HEX、FLOAT32 和 ABCD。同一组字节在不同类型下可能表示不同数值。

可用功能

  • 将十进制数编码为十六进制字节,或将字节解析为十进制数。
  • 比较 16、32、64 位有符号和无符号整数,以及 FLOAT32、FLOAT64。
  • 查看字节顺序、16 位寄存器和二进制字段。
  • 复制结果,或在下方比较所有支持类型。

操作步骤

  • 1. 选择十进制或十六进制输入。
  • 2. 输入数值,选择数据类型。
  • 3. 按设备要求选择字节序,查看结果。
  • 4. 在下方比较各类型结果;短横线表示该类型无法表示此数值。

选择转换方式

用途输入数值数据类型字节序结果
十六进制转十进制FFUINT16AB255
十进制转十六进制255UINT16AB00 FF
十六进制转浮点数3F800000FLOAT32ABCD1
有符号整数FFFFINT16AB-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 位寄存器
  • 比较整数与浮点解释
  • 核对记录中的十六进制数值
排查建议

按设备手册核对数据类型、字节序和比例系数。同一组字节可能代表不同数值。

3F 80 00 00 → FLOAT32 / ABCD → 1

阅读文章