有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

安卓 java msb/lsb在ble通信中的应用

我在安卓系统中实现了一个与设备通信的应用程序。这个设备发送给我一些数据,我必须解释它

例如: 当它发送给我0x34时,我必须进行一些操作,当0x35发送给其他一些操作并继续

当我必须比较一个intere字节时,我没有问题: 我会这样做:

if((byte[0]& 0xff)==0x34) 
  do something
else
 do something else

但当我只需要解释这个字节的一部分时,就会出现一些问题

例如:

从这个字节α中取B:|A(3位)|B(5位)|。为了正确地做到这一点,我必须这样做:

B = (alpha&0xFF)>>3;

但为什么呢

我认为正确的方法是:

mask = 0x07<<5;
B= alpha && mask

我哪里做错了


共 (1) 个答案