如下程序:
#include<stdio.h>
int main() {
int a = 815;
for (int i = 3; i >= 0; i--) {
printf("%d ", (a & (1 << i)) == 0 ? 0 : 1);
}
return 0;
}
输出结果为
1 1 1 1
这个程序只是在检测a对应的二进制位的低4位的值是否为1。因为a对应的二进制形式的低4位为1111,所以在这里,输出的结果都是1。