//打印二进制的奇数位和偶数位
//方法:奇数位按次序移动0,2,4...30位,因为最大的奇数位是31位,当第31位移动到第1位,循环结束
//偶数位按次序移动0,2,4...30位,因为最大的偶数位是32位,当第32位移动到第2位,循环结束
//移动位置后“与”1运算,即可得到那个位置的数字
#include<stdio.h>
void exchange_hanshu(int i){
int n=0;
printf("奇数位:\n");
for(n=30;n>=0;n-=2)
{
printf("%d ",(i>>n)&1);
}
printf("\n");
printf("偶数位:\n");
for(n=31;n>=0;n-=2)
{
printf("%d ",(i>>n)&1);
}
printf("\n");
}
int main(){
int i=0;
scanf("%d",&i);
exchange_hanshu(i);
return 0;
}