gpt4 book ai didi

javascript - 如何将 float 转换为字节数组?

转载 作者:搜寻专家 更新时间:2023-11-01 05:22:27 24 4
gpt4 key购买 nike

我想将像 26,4 这样的浮点值转换成字节数组。类似于:[51,51,-45,65]。另一个示例:32,2 > [-51, -52, 0, 66]

我可以在 Arduino C++ 和 Python 中完成,但我不知道如何在 JavaScript 中完成。

我的 HTML 页面中有一个输入字段,我想在其中写入我的浮点值并在将其发送到 Python 脚本之前对其进行解码。

这可能吗?

最佳答案

类型化数组

首先创建一个 Float32Array,它是实际字节缓冲区 (ArrayBuffer) 之上的 View 。我们可以在单个操作中分配缓冲区和 View :

var farr = new Float32Array(2);  // two indexes each 4 bytes

存储 float 。这些将以 IEEE-754 格式存储:

farr[0] = 26.4;
farr[1] = 32.2;

现在我们可以为底层缓冲区添加另一个 View ,这次是带符号的 8 位 View :

var barr = new Int8Array(farr.buffer);   // use the buffer of Float32Array view

console.log(barr);
// -> 51,51,-45,65,-51,-52,0,66

下面的现场演示

var farr = new Float32Array(2);  // two indexes each 4 bytes
farr[0] = 26.4;
farr[1] = 32.2;

var barr = new Int8Array(farr.buffer); // use the buffer of Float32Array view
console.log(barr);

document.querySelector("div").innerHTML = barr[0]+","+barr[1]+","+barr[2]+","+barr[3]+","+barr[4]+","+barr[5]+","+barr[6]+","+barr[7];
<div></div>

关于javascript - 如何将 float 转换为字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29629597/

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