使用C语言打印整数二进制的奇数位和偶数位。
思路:分别实现奇数位和偶数位,那么二进制只有0 和 1 那么如何判断一个数的二进制位是0还是1呢?那我们就可以使用位操作符&与1比较,都是1证明该二进制位是1,为0证明该二进制位是0。一个整数二进制位共有32位,分为奇偶各16位,判断一个二进制位后又需要判断下一个二进制位,所以使用循环并通过&判断然后打印。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int main()
{int a = 0;scanf("%d",&a);printf("奇数位:\n");for (int i = 31; i >= 1; i -= 2){printf("%d ", ((a >> i) & 1));}printf("\n");printf("偶数位:\n");for (int i = 30; i >= 0; i -= 2){printf("%d ", ((a >> i) & 1));}return 0;
}