gpt4 book ai didi

javascript - 将 4 个二进制字节作为单精度 float 转换为 Number

转载 作者:行者123 更新时间:2023-12-01 03:20:28 25 4
gpt4 key购买 nike

我有一个存储在 4 个二进制字节中的单精度、大端 float ,我想将其解码为 JS Number。这些字节是使用 Ruby 的 Array#pack 生成的方法如下:

[100.32].pack('g')  # "\x42\xC8\xA3\xD7"

使用npm binary package我可以将这些字节解码为 32 位无符号整数:

let binary = require('binary');  // npm install binary
let buf = new Buffer([0x42,0xc8,0xa3,0xd7]);
let val = binary.parse(buf).word32bu('foo').vars.foo;
console.log(val);
// 1120445399

...但这对我没有帮助。如何将 1120445399[0x42,0xc8,0xa3,0xd7] 转换为 float 100.32

最佳答案

看起来它存储为浮点型,是 32 位的。 Node 已经可以处理这些常见的数字解析/写入场景。在这种特殊情况下,您可以只使用 buf.readFloatBE(0)转换 4 个字节。

关于javascript - 将 4 个二进制字节作为单精度 float 转换为 Number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com