[C语言] 判断十进制数对应的二进制形式某位的值是否为1

如下程序:

#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。

©️2020 CSDN 皮肤主题: 黑客帝国 设计师:上身试试 返回首页