输出一个数的二进制序列中的奇数位和偶数位
分析:
(1)运用右移运算符‘>>’,右移一位相当于除以2,右移后并不会影响数值本身。
(2)一个数占4个字节,32个bit位,将它右移偶数位后剩余的部分再与1进行按位与,得到奇数位。
(3)将它右移奇数位后剩余的部分再与1进行按位与,得到偶数位。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main() { int num = 0; int i = 0; scanf_s("%d", &num); for (i = 0; i < 32; i+=2) { printf("%d", ((num >> (31 - i)) & 1)); } printf("\n"); for (i = 0; i < 32; i += 2) { printf("%d", ((num >> (30 - i)) & 1)); } printf("\n"); system("pause"); return 0; }