/*
打印整数二进制的奇数位和偶数位
题目内容:
获取一个整数二进制序列中所有的奇数位和偶数位,分别打印出二进制序列
*/
#include <stdio.h>
void print_odd_even(int num) {
int i = 0;
int res = 0;
//第一种方式
//for (i = 31; i >= 0;) { //打印奇数位
// res = num & (1 << i) ? 1 : 0; //判断&的结果是非0的话,就为1。
// printf("%d ",res);
// i -= 2;
//}
//printf("\n");
//for (i = 30; i >= 0;) { //打印偶数位
// res = num & (1 << i) ? 1 : 0;
// printf("%d ", res);
// i -= 2;
//}
//第二种方式
for (i = 31; i >= 0;i -= 2){ //打印奇数位
res = (num >> i) & 1;//将num移位,保证&的结果唯一,要么为0,要么为1。
printf("%d ",res);
}
printf("\n");
for (i = 30; i >= 0; i -= 2) {//打印偶数位
res = (num >> i) & 1;
printf("%d ", res);
}
}
int main() {
int num = 0;
scanf_s("%d",&num);
print_odd_even(num);
return 0;
}
【C语言】打印整数二进制的奇数位和偶数位
最新推荐文章于 2024-07-25 11:27:31 发布