javascript - 获取 Uint16Array 成员的单独低字节和高字节

标签 javascript bit-manipulation typed-arrays

所以我在 JavaScript 中有一个 Uint16Array:

let myArray = new Uint16Array(10)

现在我想将此数组中的特定值分解为两个 8 位值 - 该值的低字节和高字节。

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

生成的两个值应为number类型。

最简单的方法是什么?

最佳答案

可以这样找到低字节:

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

关于javascript - 获取 Uint16Array 成员的单独低字节和高字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53567944/

相关文章:

javascript - 负载延迟淡入淡出

javascript - 表达式 "float | 0"如何生成整数?

javascript - 字节序安全复制二进制数据

c++ - for循环中使用的位操作

python - Numpy:检查数组中的某个位是否设置为 1 或 0?

javascript - 如何从 ArrayBuffer 获取数组?

kotlin - 我们应该避免在 Kotlin 中使用类型化数组吗?如果是,有没有更新的方法来替换 Kotlin 中的类型化数组?

javascript - jQuery find() 在 IE 和 FF 中的顺序不同

javascript - 如何从控制台删除错误警告

javascript - 检测窗口调整大小事件何时完成