使用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; }