打印整数二进制的奇数位和偶数位
例如 num = 10 二进制形式 00000000000000000000000000001010 这里认为**右边**第一位是奇数位
代码实现如下
#include<stdio.h> int main() { int num = 0; scanf("%d", &num); int i = 0; //获得奇数位 printf("奇数位->"); for (i = 30; i >= 0; i -= 2) { printf("%d ", (num >> i) & 1); } printf("\n"); //获得偶数位 printf("偶数位->"); for (i = 31; i >= 1; i -= 2) { printf("%d ", (num >> i) & 1); } return 0; }
运行结果与分析一致,代码正确。