输出一个数的二进制序列中的奇数位和偶数位

分析:

(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;
}