按位运算,如何检查0或1?

use*_*701 2 java

我有一个整数,如:

0x10000010
Run Code Online (Sandbox Code Playgroud)

我想知道特定位是1还是0.例如,类似于:

int number = 0x10000010;
for (int i = 0; i < 8; i++) {
    if (ith bit == 1) {
        System.out.println("bit " + i + " is 1.");
    } else {
        System.out.println("bit " + i + " is 0.");
    }
}

---- output ----
bit 0 is 1
bit 1 is 0
bit 2 is 0
bit 3 is 0
bit 4 is 0
bit 5 is 0
bit 6 is 1
bit 7 is 0
Run Code Online (Sandbox Code Playgroud)

我忘记了怎么做,以及这种类型的操作是什么,

谢谢

dty*_*dty 8

number & (1 << i) 如果未设置该位则为0,如果未设置则为非零.