У меня есть буферный объект, содержащий восемь байтов. Эти восемь байтов теперь должны интерпретироваться как 64-битное целое число.
В настоящее время я использую следующий алгоритм:
var int = buff[0];
for (var i = 1; i < buff.length; i++) {
int += (buff[i] * Math.pow(2, 8 * i));
}
console.log(int);
Это работает, но я считаю, что есть лучшие способы (возможно, использование Uint64Array).
К сожалению, я не могу найти, как Uint16Array может помочь мне здесь.
Привет
Update:
// puts two 32bit integers to one 64bit integer
var bufInt = (buf.readUInt32BE(0) << 8) + buf.readUInt32BE(4);