繁体   English   中英

Java Integer索引到位的位置

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM