基本思路:直接循环遍历每一位,将每一位与1进行按位与(同1为1,异1为0)并进行输出,注意移位
代码语言:javascript复制void NumOf1(int n){
for(int i=31;i>=1;i-=2){
printf("%d ",((n>>i)&1));//奇数位
}
printf("n");
for(int i=30;i>=0;i-=2){
printf("%d ",((n>>i)&1));//偶数位
}
}
int main(){
int n;
scanf("%d",&n);
NumOf1(n);
return 0;
}