1.我们要知道一个数的二进制(由0和1组成)是多少,int 有32位,我们要看是奇数位还是偶数位,如何判断二进制奇数位还是二进制偶数位,就是要判断i偶数位的时候,就可以取出自己需要的位数,当(i为位数)i%2==0,就说明i为偶数,当一个数先后移动i时,在用按位与时(&1),就可以得到一,就是一个数的偶数位。
如10
00000000000000000000000001010
2.第二步,开始输出(i+=2意思是i=i+2,二位之后就是偶数位,至打印偶数位)
#include<stdio.h>
//打印整数的二进制奇数位和偶数为,分别打印二进制序列
//10
//00000000000000000000000001010
int main()
{
int a = 0;
scanf_s("%d", &a);
//偶数位
for (int i = 0; i<32; i+=2)
{
if (i % 2 == 0)
{
int c = (a >> i) & 1;
printf("%d ", c);
}
}
printf("\n");
//奇数位
for(int i=1;i<32;i+=2)
{
int b = (a >> i) & 1;
printf("%d ", b);
}
return 0;
}