获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列
比如11的二进制为01011
输出为
奇数序列:0 0 1
偶数序列:1 1
代码如下:
1 void print_num(unsigned value) 2 { 3 int count = 0;//计算二进制 位数 4 int a[32] = { 0 }; 5 int i = 0; 6 while (value) { 7 a[i++] = value % 2; 8 value /= 2; 9 count++; 10 } 11 printf("奇数序列\n"); 12 for (i = count; i >= 0; i -= 2) { 13 printf("%d ", a[i]); 14 } 15 printf("\n"); 16 printf("偶数序列\n"); 17 for (i = count - 1; i >= 0; i -= 2) { 18 printf("%d ", a[i]); 19 } 20 printf("\n"); 21 }
主函数
int main() { printf("获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列(测试数字01011)\n"); int value = 11;//01011 print_num(value); return 0; }