Merge two bytes in java/android

Shane picture Shane · May 24, 2010 · Viewed 9.1k times · Source

I have a frame of 22 bytes. The frame is the input stream from an accelerometer via bluetooth. The acceleromter readings are a 16 bit number split over two bytes.

When i try to merge the bytes with buffer[1] + buffer[2], rather than adding the bytes, it just puts the results side by side. so 1+2 = 12.

Could someone tell me how to combine these two bytes to obtain the original number. (btw the bytes are sent little endian)

Thanks

Answer

reflog picture reflog · May 24, 2010

here's the code:

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