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