我有四种类型的扇区,每个扇区用二进制字节表示:
sector one: 0000 0001
sector two: 0000 0010
sector three: 0000 0100
sector four: 0000 1000
现在,我得到一个返回整数值的函数,我需要检查这个值是否是扇区之一。检查它的最有效方法是什么?我的意思是按位操作。
int val = func();
//check if val is one of the sector
答案 0 :(得分:1)
boolean isSectorOne (int val) {return (val & 0x01) == 0x01;}
boolean isSectorTwo (int val) {return (val & 0x02) == 0x02;}
boolean isSectorThree (int val) {return (val & 0x04) == 0x04;}
boolean isSectorFour (int val) {return (val & 0x08) == 0x08;}