本次题目的要求为获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。其实仔细想想要获取一个数的二进制奇偶序列,那么我们就得知道它每一位上的数字,即这就是这道题的突破口,只要我们取得了每一位,便能求出序列,所以我就采用了与(“&”)操作来获取每一位数,具体实现过程如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void func(int num)
{
int num1 = num;
printf("奇数序列为:\n");
for (int i = 0; i < 32; i += 2)
{
printf("%d",(num&1)); //获取每一位
num = num >> 2;
}
printf("\n");
num1 = num1 >> 1;
printf("偶数序列为:\n");
for (int i = 1; i < 32; i += 2)
{
printf("%d", (num1 & 1)); //获取每一位
num1 = num1 >> 2;
}
printf("\n");
}
int main()
{
int num;
scanf("%d",&num);
func(num);
system("pause");
return 0;
}