获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
比如11的二进制为01011
输出为
奇数序列:0 0 1
偶数序列:1 1
诶~
看我骚操作
#include <stdio.h>
void print_num(unsigned int n)
{
int count = 0;//计算二进制的位数
int a[32] = {0};//创建一个大小为32的a数组
int i = 0;
while(n)
{
a[i++] = n % 2;
n = n / 2;
count ++;
}
printf("奇数序列\n");
for (i = count; i >= 0; i = i - 2)
{
printf("%d ",a[i]);
}
printf("\n");
printf("偶数序列\n");
for (i = count -1; i >= 0; i = i - 2)
{
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
int n = 0;
printf("获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列\n");
printf("请输入一个数\n");
scanf_s("%d",&n);
print_num(n);
return 0;
}