我有一个带有BLE模块的Android应用程序。 BLE设备给出24字节的字节数组。每个字节都有不同的含义。在字节数组中,10和11项是电压,它是16位表示的组合。
例如:我得到11项为0和12项为3.所以我想将它转换为单个16位表示值。另外,我希望将其作为浮点值,因为我需要在UI中将电压显示为浮点值。我不知道有谁问过这个问题。如果有人知道8位到16位表示的公式,请添加公式。
答案 0 :(得分:2)
试试这可能会对你有所帮助
short yourinteger16 = (short)(((bytes[0] & 0xFF) << 8) | (bytes[1] & 0xFF));
答案 1 :(得分:0)
short yourinteger16 = ((short) ((bytes[0] & 0xff) | (bytes[1] << 8)));
-已测试- 这是正数和负数的通用形式