获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
要会打印奇或偶序列,先学会打印二进制序列
下面我的这篇文章的代码稍作修改即可
E24.【C语言】练习:求一个整数存储在内存中的二进制中1的个数(两种方法)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n = 0;
int a = 1;
int arr[32] = {0};
scanf("%d", &n);
for (int i = 0; i <= 31; i++)
{
if ((n & a) == 1)
{
arr[i] = 1;
}
else
{
arr[i] = 0;
}
n >>= 1;
}
for (int j = 31; j >= 0; j--)
printf("%d", arr[j]);
return 0;
}
打印的是补码
现在对上述代码改动:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n = 0;
int a = 1;
int arr[32] = {0};
scanf("%d", &n);
for (int i = 0; i <= 31; i++)
{
if ((n & a) == 1)
{
arr[i] = 1;
}
else
{
arr[i] = 0;
}
n >>= 1;
}
printf("偶数序列:");
for (int j = 30; j >= 0; j -= 2)
{
printf("%d", arr[j]);
}
printf("\n奇数序列:");
for (int k = 31; k >= 1; k -= 2)
{
printf("%d", arr[k]);
}
return 0;
}
注意设置循环时数组不能越界