欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

程序员文章站 2022-07-15 10:01:48
...
int main()
{
	int i = 0,j = 0;
	int arr1[16];
	int arr2[16];
	int num = 0;
	scanf("%d",&num);
	for(i = 0;i<32;i += 2)
	{
		arr1[j] = ((num >> i)&1);//奇数列存入数组
		j++;
	}
	for(i = 1,j = 0;i<32;i +=2)
	{
		arr2[j] = ((num >> i)&1);//偶数列存入数组
		j++;
	}
	printf("奇数列为:");
	for(i = 15;i>=0;i--)
	{
		printf("%d",arr1[i]);//数列存入数组为逆序
	}
	printf("\n");              //在这里逆序打印数组显示数列
	printf("偶数列为:");
	for(i = 15;i>=0;i--)
	{
		printf("%d",arr2[i]);
	}

	return 0;
}

优化

int main()
{
	int num = 0;
	int i = 0;
	printf("请输入一个整数:\n");
	scanf("%d",&num);
	printf("偶数列为:");
	for(i = 31;i>=0;i -= 2)
	{
		printf("%d",(num>>i)&1);
	}
	printf("\n");
	printf("奇数列为:");
	for(i = 30;i>=0;i -= 2)
	{
		printf("%d",(num>>i)&1);
	}
	return 0;
}