题目要求:
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
代码实现如下:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
typedef unsigned int u_int_t;
void CountBits(u_int_t date)
{
u_int_t flag = 0x80000000;
//输出该数的二进制的偶数数列;
printf("偶数bits:> ");
while(flag)
{
if(date & flag)
{
printf("1 ");
}
else
{
printf("0 ");
}
flag >>= 2;
}
printf("\n");
flag = 0x40000000;
//输出该数的二进制的偶数数列;
printf("奇数bits:> ");
while(flag)
{
//如果为真则输出1;
if(date & flag)
{
printf("1 ");
}
else
{
printf("0 ");
}
flag >>= 2;
}
printf("\n");
}
int main()
{
int num = 0;
printf("请输入num:>");
scanf("%d",&num);
CountBits(num);
system("pause");
return 0;
}
展示结果如下: