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

时间:2018-11-17 23:23:58

标签: javascript node-red

我正在用javascript编程一个节点红色功能块。 我需要读取一个浮点值并将其转换为uint16array。 在其他stackoverflow问题中,我可以看到从UintArray到float的反转情况。 我需要从Float到UintArray Javascript: How to convert signed Char Array to Float (maybe using IEEE754)?

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

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

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

首先,您不能将负值放入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

希望有帮助。