题目要求
- 作业标题
打印整数二进制的奇数位和偶数位
- 作业内容
获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
解题思路
要打印一个数的二进制数,首先得知道如何去操作一个数的二进制数,然后,一个数的二进制数其只能由0,1组成,那么就只需要判断其对应位置上的数为几,打印即可,一般情况下都是和1位与操作&
,此时就能判断出来他的最后一位为几,然后通过>>
<<
等移位操作符,将数的二进制序列进行移动,就能达到想要的目的。
逻辑实现
#include <stdio.h>
//打印整数二进制的奇数位和偶数位
int main()
{
int num;
scanf("%d", &num);
printf("奇数位的二进制数序列为:");
for (int i = 30; i >= 0; i -=2)
{
printf("%d ", (num >> i) & 1);
}
printf("\n偶数位的二进制数序列为:");
for (int i = 31; i > 0; i -= 2)
{
printf("%d ", (num >> i) & 1);
}
printf("\n");
return 0;
}