This page
解释一个简单而有效的解决方案:
-
将右端的所有位相加,直至第二个最有效位。
-
最重要的位不是作为2^i添加的,而是作为-2^i添加的。
我的代码在一个更大的范围内工作,它有一个数组和一个pos可供读取。
function readInt(size) {
var value = 0;
var first = true;
while (size--) {
if (first) {
let byte = array[pos++];
value += byte & 0x7f;
if (byte & 0x80) {
value -= 0x80; // Treat most-significant bit as -2^i instead of 2^i
}
first = false;
}
else {
value *= 256;
value += array[pos++];
}
}
return value;
}
原始字节提供在
array
(A)
Uint8Array
)
pos
是要读取的下一个索引。此函数在当前
销售时点情报系统
进展
销售时点情报系统
当它读到
size
字节。