Получить отдельные младшие и старшие байты члена Uint16Array - PullRequest
0 голосов
/ 01 декабря 2018

Итак, у меня есть Uint16Array в JavaScript:

let myArray = new Uint16Array(10)

Теперь я хочу разбить определенное значение из этого массива на два 8-битных значения - младший и старший байты значения.

myArray[5] = 300 // How to get low, high byte of 16-bit value 300?

Два полученных значения должны быть типа number.

Какой самый простой способ сделать это?

1 Ответ

0 голосов
/ 01 декабря 2018

Младший байт можно найти следующим образом:

let val = myArray[5] & 0xFF;

Младший байт можно найти следующим образом:

let val2 = (myArray[5] >> 8) & 0xFF;

Пример:

> let myArray = new Uint16Array(10);
< undefined
> myArray[0] = 300;
< 300
> myArray[0] & 0xFF
< 44
> (myArray[0] >> 8) & 0xFF
< 1
...