如何将 Float 转换为 UintArray (IEEE754)?

How to convert Float to UintArray (IEEE754)?

我正在 javascript 中编写节点红色功能块。 我需要读取一个浮点值并将其转换为 uint16array。 在其他 Whosebug 问题中,我可以看到反转大小写,从 UintArray 到 float。 我需要从 Float 到 UintArray

var chars = new Uint8Array([-78, 119, 99, 63])
var floats = new Float32Array(chars.buffer)
> [0.8885451555252075]

你知道如何将 Float 转换为 UintArray 吗?

此致。

首先,您不能将负值输入 Uint8Array。它适用于从 0 到 255 的无符号整数值。因此 -78 将变为 178

改用 Int8Array(从 -128 到 127)。
反向转换很简单:

var chars = new Int8Array([-78, 119, 99, 63])
var floats = new Float32Array(chars.buffer)

console.log(floats)

var back = new Int8Array(floats.buffer)

console.log(back)

See more here.

希望对您有所帮助。