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