【发布时间】:2015-10-15 02:32:39
【问题描述】:
我在 2' 补码中加载了 14 位带符号二进制(以 16 位密封),通过 BLE(蓝牙低功耗)从传感器收集这些数据。我想将其转换为十进制。
我在 JAVA 中找到了一个 sn-p 代码,它可以按正确的顺序解析 14 位二进制文件。但我是python编码的新手。你能解释一下什么是 c[offset+1] 和 c[offset] & 0xFF 吗?以及如何用python表达?
private static Integer shortSignedAtOffset(byte[] c, int offset) {
Integer lowerByte = (int) c[offset] & 0xFF;
Integer upperByte = (int) c[offset+1]; // // Interpret MSB as signed
return (upperByte << 8) + lowerByte;
}
例如: a = 0010 1000 0000 0000 如果我说 a+1 等于 c[offset+1],对吗?二进制中的偏移量在做什么,尤其是与传感器相关? 多谢 请回答我。真的需要帮助。
【问题讨论】:
-
嗨,专业人士,让我发烧吧。如果您不想回答,请让其他人帮助我。