将字节数组转换为float32

时间:2015-10-26 21:32:04

标签: javascript binary floating-point

我有一个JavaScript应用程序,它接收的电压值为Uint8Array。以下是收到数据的2个示例:

[3, 134, 46, 177, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[3, 127, 46, 170, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

我正在尝试将此Uint8Array转换为浮动值,但我不确定它是float32还是float64,如果它已签名或不。我所知道的是这个值大约是12。

任何人都可以帮助使用JavaScript代码段进行转换吗?

提前谢谢。

1 个答案:

答案 0 :(得分:2)

每条线看起来都有两个电压。来自设备的电压通常来自具有8到16位信息的ATOD转换器,并根据电路进行缩放。

它看起来像一个3(未使用的,可能是某种模式标志),后跟两对字节,每一个字节来自ATOD。我猜两个字节,如177和46应该被解释为(177 + 46 * 256)/1000.0基于1 mv。缩放。这产生的值仅超过11.9伏。考虑到两个样本的范围,这符合您的期望。