位运算
第N位是"0"比特还是"1"比特
题目:第N位是0还是1
描述:判断一个二进制数的第N位是0比特还是1比特
结题思路:
1、例如,我要判断第3位是否为比特"1",我只需逻辑右移或者右移2位,然后和做&操作即可。
2、假设二进制数为N,待判断的位数为i,则(N >> (i-1)) & 1,即可判断
public class 第N位是0还是1{
public static void main(String[] args){
//2、获取二进制位是1还是0
int binaryNum = 0b0000_1000;
//第4位
int i = 4;
System.out.println((binaryNum >>> (i - 1)) & 1);
}
}
调试结果:
如有错误,敬请指正!