获取一个整数二进制序列中所有偶数位和奇数位,分别打印出二进制序列
(1)判断32位二进制位从右向左从1开始计数还是从0开始计数
(2)循环判断,将对应二进制位与1相与(0&1=0,1&1=1),输出对应二进制位,每输出一次二进制位向右移2位
该代码32位二进制位从右向左从1开始计数
int main(){
//获取奇数位的数字
int i=0;
int num=0;
scanf("%d",&num);
printf("获取奇数位数字:");
for(i=30;i>=0;i-=2){
printf("%d ",(num>>i)&1);
}
printf("\n");
printf("获取偶数位数字:");
for(i=31;i>=1;i-=2){
printf("%d ",(num>>i)&1);
}
return 0;
}
运行结果: