合并java / android中的两个字节

时间:2010-05-24 10:07:01

标签: android byte multibyte

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

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

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

由于

2 个答案:

答案 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)出现了完全相同的二进制模式。