我有一个 22 字节的帧。该帧是来自加速度计通过蓝牙的输入流。加速度计读数是一个 16 位数字,分为两个字节。
当我尝试将字节与缓冲区 [1] + 缓冲区 [2] 合并时,而不是添加字节,它只是将结果并排放置。所以 1+2 = 12。
有人可以告诉我如何组合这两个字节来获得原始数字。(顺便说一句,字节是小端发送的)
谢谢
这是代码:
public static short twoBytesToShort(byte b1, byte b2) {
return (short) ((b1 << 8) | (b2 & 0xFF));
}
这是一个更好的答案,可能更有意义......
public static short twoBytesToShort(byte b1, byte b2) {
return (short) ((b1 << 8) | b2);
}
(b2 & 0xFF) 输出完全相同的二进制模式。