★十进制转换为二进制序列,并输出1的个数,和序列的奇偶序列

#include<stdio.h>
int main()
{
int m,i,x,y;
char a[32];//int为4个字节长,占32个bit位
int count=0;
printf("请输入一个数:\n");
scanf("%d", &m);
for (i = 0; i < 32; i++)
{
if (m%2 == 1)         //统计序列中1的个数
{
count++;
}
x = m % 2;            //十进制转换为二进制
y = m / 2;
m = y;
a[i] = x;
}
printf("该数的二进制序列为:\n");
for (i = 31; i >= 0; i--)
{
printf("%d", a[i]);
}
printf("\n\n");
printf("该二进制序列中1的个数为:%d", count);
printf("\n\n");
printf("该二进制序列的奇数序列为:\n");
for (i = 30; i >= 0; i -= 2)
{
printf("%d", a[i]);
}
printf("\n\n");
printf("该二进制序列的偶数序列为:\n");
for (i = 31; i >= 0; i -= 2)
{
printf("%d", a[i]);
}
printf("\n");
return 0;
}

wKiom1YJMrCyF8_hAAEYOBp4FVE360.jpg