Combinar dos bytes en java / androide
Pregunta
I tiene un marco de 22 bytes. El marco es el flujo de entrada de un acelerómetro a través de Bluetooth. Las lecturas acceleromter son una fracción de número de 16 bits más de dos bytes.
Cuando intento para combinar los bytes con tampón [1] + buffer [2], en lugar de la adición de los bytes, sólo se pone el lado resultados por lado. de modo 1 + 2 = 12.
Podría alguien decirme cómo combinar estos dos bytes para obtener el número original. (Por cierto los bytes se envían poco endian)
Gracias
Solución
Aquí está el código:
public static short twoBytesToShort(byte b1, byte b2) {
return (short) ((b1 << 8) | (b2 & 0xFF));
}
Otros consejos
Aquí hay una respuesta mejor que podría hacer un poco más de sentido ...
public static short twoBytesToShort(byte b1, byte b2) {
return (short) ((b1 << 8) | b2);
}
(b2 y 0xFF) sale con el mismo patrón binaria exacta.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow