[英]Java Integer index to bit position
我试图做一个动态的方法来通过二进制和检查一个数字。 我尝试了各种不同的方法,但是无法解决这个问题。
我需要的是一种转换整数索引位置并返回布尔值的方法。
private boolean bitwiseAnding(int val, int indx){
//TODO Convert indx to a bitmask here
return (val & bitmask)==1;
}
例如:
1 = 0x01
2 = 0x02
3 = 0x04
4 = 0x08
and so on
您必须使用移位运算符:
private boolean bitwiseAnding(int val, int indx){
int mask = 1 << (indx-1);
return (val & mask) != 0;
}
只需使用移位:
int bitmask = 1 << (indx-1);
但请注意,你只为获得真正的==1
,如果indx == 1
。 您可能的意思是:
(val & bitmask) != 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.