Roc*_*icv 2 javascript bit-manipulation typed-arrays
所以我在 JavaScript 中有一个 Uint16Array:
let myArray = new Uint16Array(10)
Run Code Online (Sandbox Code Playgroud)
现在我想将该数组中的一个特定值分解为两个 8 位值 - 该值的低字节和高字节。
myArray[5] = 300 // How to get low, high byte of 16-bit value 300?
Run Code Online (Sandbox Code Playgroud)
产生的两个值应该是number type.
做到这一点最简单的方法是什么?
可以这样找到低字节:
let val = myArray[5] & 0xFF;
Run Code Online (Sandbox Code Playgroud)
可以通过以下方式找到高字节:
let val2 = (myArray[5] >> 8) & 0xFF;
Run Code Online (Sandbox Code Playgroud)
例子:
> let myArray = new Uint16Array(10);
< undefined
> myArray[0] = 300;
< 300
> myArray[0] & 0xFF
< 44
> (myArray[0] >> 8) & 0xFF
< 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1809 次 |
| 最近记录: |