Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将浮点转换为字节数组?_Javascript - Fatal编程技术网

Javascript 如何将浮点转换为字节数组?

Javascript 如何将浮点转换为字节数组?,javascript,Javascript,我想将像26,4这样的浮点值转换为字节数组。类似于:[51,51,-45,65]。另一个例子:32,2[-51,-52,0,66] 我可以在ARDUIO C++和Python中完成它,但是我不知道如何在JavaScript中实现它。 在我的HTML页面中有一个输入字段,我想在将浮点值发送到Python脚本之前写入该字段并对其进行解码 有可能吗?类型化数组 首先创建一个Float32Array,它是一个位于实际字节缓冲区顶部的视图(ArrayBuffer)。我们可以在单个操作中分配缓冲区和视图:

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

<>我可以在ARDUIO C++和Python中完成它,但是我不知道如何在JavaScript中实现它。 在我的HTML页面中有一个输入字段,我想在将浮点值发送到Python脚本之前写入该字段并对其进行解码

有可能吗?

类型化数组 首先创建一个
Float32Array
,它是一个位于实际字节缓冲区顶部的视图(
ArrayBuffer
)。我们可以在单个操作中分配缓冲区和视图:

var farr = new Float32Array(2);  // two indexes each 4 bytes
存储浮点数。这些将以IEEE-754格式存储:

farr[0] = 26.4;
farr[1] = 32.2;
现在我们可以为基础缓冲区添加另一个视图,这次是带符号的8位视图:

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);//每个4字节有两个索引
farr[0]=26.4;
farr[1]=32.2;
var barr=新的Int8Array(farr.buffer);//使用Float32Array视图的缓冲区
控制台日志(barr);
document.querySelector(“div”).innerHTML=barr[0]+”、“+barr[1]+”、“+barr[2]+”、“+barr[3]+”、“+barr[4]+”、“+barr[5]+”、“+barr[6]+”、“+barr[7]

可能重复@ScottSauyet:为什么没有类型化数组?他们让事情变得简单多了……你说得对。这不是那个的复制品。是的,类型化数组显然更简单。撤回我的投票。@Bergi类型的数组仅适用于ES6。旧版本没有。但是,是的,这些问题是相关的、互补的,而不是重复的