例题:获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列。

对于这个题我想的是,由于1&二进制的数字,他的意思是判断最低位是否为1,是的话那么就是1,否则就不是1而是0,这样如果我在进行一番右移操做,那么的话,就可以把这个二进制打印出来。

若是需要奇偶位打印的话,那么可能是在每次右移奇数个位或者是偶数个位,就可以求出二进制的奇数位,以及偶数位,下面我就为大家展示一番。

#include<stdio.h>

int main() {

    int num = 0;

    printf("请输入一个数:");

    scanf("%d", &num);

    printf("奇数位:");

    for (int i = 31; i >= 1; i -= 2) {

        printf("%d ", (num >> i) & 1);

    }

    printf("\n");

    printf("偶数位:");

    for (int i = 30; i >= 0; i -= 2) {

        printf("%d ", (num >> i) & 1);

    }

    printf("\n");

    return 0;

}

这个是运行结果:

在这里插入图片描述

因此这就是本题的代码。