思路:通过将一个整数的二进制位序列中的偶数(奇数)位移位到第一位与1按位与(&)后打印。
#include <stdio.h>
int main() {
//获取一个整数二进制位序列中所有的偶数位和奇数位,分别打印出二进制序列
int n = 0;
printf("请输入要获取的整数>");
scanf("%d", &n);
int i = 0;
//打印偶数位
for (i = 31; i >= 1; i -= 2) {
printf("%d ", (n >> i) & 1);
}
printf("\n");
//打印奇数位
for (i = 30; i >= 0; i -= 2) {
printf("%d ", (n >> i) & 1);
}
return 0;
}
运行结果:
![](https://img-blog.csdnimg.cn/img_convert/8eab57c4cab7378fc55b97d973348182.jpeg)