解析为第二补码形式的 16 位值
Parsing to 16-bit value in second complement form
datasheet 给我一个 2 byte 的数据,定义为:
"These two byte is a 16-bit value in 2's complement form, whose range is from 0xF800 (-4096) to 0x07FF (4095)"
我不太明白如何在 javascript 中解析这些数据。
目前所有主流浏览器都支持DataView
class.
鉴于您的 Uint8Array
包含例如[0xf8, 0x00]
:
var a = new Uint8Array([0xf8, 0x00])
您可以将其视为 Int16
个值的数组:
var view = new DataView(a.buffer)
var val = view.getInt16(0, false); // false for big-endian
> -2048
如果数组中的数据是相反的(小端),请为 .getInt16()
.
的第二个参数提供 true
datasheet 给我一个 2 byte 的数据,定义为:
"These two byte is a 16-bit value in 2's complement form, whose range is from 0xF800 (-4096) to 0x07FF (4095)"
我不太明白如何在 javascript 中解析这些数据。
目前所有主流浏览器都支持DataView
class.
鉴于您的 Uint8Array
包含例如[0xf8, 0x00]
:
var a = new Uint8Array([0xf8, 0x00])
您可以将其视为 Int16
个值的数组:
var view = new DataView(a.buffer)
var val = view.getInt16(0, false); // false for big-endian
> -2048
如果数组中的数据是相反的(小端),请为 .getInt16()
.
true