Java 位掩码:使用位掩码查找属性

Java 位掩码:使用位掩码查找属性,java,bitmask,Java,Bitmask,我知道这是一个愚蠢的问题,但我不知道如何解决我的问题 我通过getInteger()方法得到的只是一个整数,我必须检查该整数的两个属性(true或false)。这个整数可以有a1或a2和b1或b2。例如: 16 --> 00010000 0 --> 00000000 248 --> 11111000 8 --> 00001000 我确切地知道这4个整数(可能还有其他我目前不知道的整数)和相应的属性: 16 means attribute a1 a

我知道这是一个愚蠢的问题,但我不知道如何解决我的问题

我通过getInteger()方法得到的只是一个整数,我必须检查该整数的两个属性(true或false)。这个整数可以有a1或a2和b1或b2。例如:

16  --> 00010000 

0   --> 00000000 

248 --> 11111000 

8   --> 00001000
我确切地知道这4个整数(可能还有其他我目前不知道的整数)和相应的属性:

16  means attribute a1 and b1
0   means attribute a1 and b2
248 means attribute a2 and b1
8   means attribute a2 and b2
因此,我认为:

Type A1 is sth like xxxx0xxx
Type A2 is sth like xxxx1xxx
Type B1 is sth like xxx1xxxx 
Type B2 is sth like xxx0xxxx 
希望这是正确的

如果整数来自attribute a1/a2和b1/b2类型,如何在java中进行检查? 我需要像这样的东西:

public boolean isA(int integer){
   //mask example: 0xf0
   int maskA = 0x??;
   System.out.println("isA is:" + ((integer & maskA) ? true : false))
   return (integer & maskA) ? true : false;
}

public boolean isB(){   
   int maskB = 0x??;
   ... similar as above ...
}

我需要正确的位掩码,但我也想了解如何获得它。

请提供一些示例:什么整数应该或不应该有A或B?我只知道整数0,8,16248,但可能还有其他整数。我所知道的是我在上面发布的内容,但如果我取一个随机整数,例如整数10(00001010)有A2+B2,整数12345(01111011)有A2+B1。但我只知道上面提到的4个问题需要解决,我必须找到一个模式。getInteger()方法只返回一个int值,但我不知道是有符号的还是无符号的。我只知道这些。