7

我有一个 22 字节的帧。该帧是来自加速度计通过蓝牙的输入流。加速度计读数是一个 16 位数字,分为两个字节。

当我尝试将字节与缓冲区 [1] + 缓冲区 [2] 合并时,而不是添加字节,它只是将结果并排放置。所以 1+2 = 12。

有人可以告诉我如何组合这两个字节来获得原始数字。(顺便说一句,字节是小端发送的)

谢谢

4

2 回答 2

25

这是代码:

public static short twoBytesToShort(byte b1, byte b2) {
          return (short) ((b1 << 8) | (b2 & 0xFF));
}
于 2010-05-24T10:27:42.650 回答
-1

这是一个更好的答案,可能更有意义......

public static short twoBytesToShort(byte b1, byte b2) {
          return (short) ((b1 << 8) | b2);
}

(b2 & 0xFF) 输出完全相同的二进制模式。

于 2014-01-22T03:03:14.240 回答