十进制转换为二进制序列,并输出1的个数,和序列的奇偶序列
2015-09-28 20:30
591 查看
★十进制转换为二进制序列,并输出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; }