Ton*_*ony 4 java byte bytebuffer mask bit-shift
我需要从存储在ByteBuffer(小端序)中的字节中提取两个整数值
ByteBuffer bb = ByteBuffer.wrap(inputBuffer);
bb.order(ByteOrder.LITTLE_ENDIAN);
Run Code Online (Sandbox Code Playgroud)
我需要从ByteBuffer中的任何字节获取的值是:
length =低阶半字节的整数值
frequency =高阶半字节的整数值
目前我正在使用以下代码提取低阶nybble:
length = bb.getInt(index) & 0xf;
Run Code Online (Sandbox Code Playgroud)
这看起来效果很好.然而,这似乎是高阶nybble我似乎无法正确解释.
我对位移或屏蔽感到有些困惑,我认为我需要执行它,任何建议都会非常有用.
非常感谢!!
我需要从一个字节中提取两个整数值
所以你需要得到一个不是int的字节,字节顺序无关紧要.
int lowNibble = bb.get(index) & 0x0f; // the lowest 4 bits
int hiNibble = (bb.get(index) >> 4) & 0x0f; // the highest 4 bits.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4430 次 |
| 最近记录: |