如何将 4 字节十六进制转换为 Node.js 中的浮点数
How to convert 4 byte Hex to floating-point number in Node.js
我有四个字节的十六进制数据,我正在尝试将其转换为 Node.js 中的浮点数。
即
0x58 0x86 0x6B 0x42 --> 58.8812
0x76 0xD6 0xE3 0x42 --> 113.9189
0x91 0x2A 0xB4 0x41 --> 22.52078
我尝试从互联网上找到的不同函数进行转换,但不幸的是没有得到想要的结果。
在 https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ link 上,我通过输入十六进制字符串在“Float - Little Endian (DCBA)”单元格中获得了正确的值,但不知道如何在节点 js 中执行此操作。
我想也许我搜索错了或者我理解错了。
谢谢。
鉴于您有十六进制数据的字符串表示形式(例如 '58866B42'
关于您的第一个示例),请执行以下操作将其转换为浮点数:
let myNumber = Buffer.from(hexString, 'hex').readFloatLE()
readFloatLE
中的LE
代表Little Endian.
我有四个字节的十六进制数据,我正在尝试将其转换为 Node.js 中的浮点数。
即
0x58 0x86 0x6B 0x42 --> 58.8812
0x76 0xD6 0xE3 0x42 --> 113.9189
0x91 0x2A 0xB4 0x41 --> 22.52078
我尝试从互联网上找到的不同函数进行转换,但不幸的是没有得到想要的结果。 在 https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ link 上,我通过输入十六进制字符串在“Float - Little Endian (DCBA)”单元格中获得了正确的值,但不知道如何在节点 js 中执行此操作。 我想也许我搜索错了或者我理解错了。
谢谢。
鉴于您有十六进制数据的字符串表示形式(例如 '58866B42'
关于您的第一个示例),请执行以下操作将其转换为浮点数:
let myNumber = Buffer.from(hexString, 'hex').readFloatLE()
readFloatLE
中的LE
代表Little Endian.