判断并输出一个数二进制序列中偶数位序列和奇数位序列

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int num = 0;
    int i = 0;
    scanf("%d", &num);
    //判断偶数序列
    printf("偶数序列为:");
    for (i = 31; i >= 1; i -= 2)  //偶数序列最高位移到最低位应该右移31位,最低位的偶数位右移一位
    {
        printf("%d ", (num >> i) & 1);//移位后与1进行按位与可以判断最末位的值,如果是1,那么按位与的结果为1,否则为0
    }
    printf("\n");
    //判断奇数序列
    printf("奇数序列为:");
    for (i = 30; i >= 0; i -= 2)//奇数序列最高位移到最低位应该右移30位,最低位的奇数位右移0位
    {
        printf("%d ", (num >> i) & 1);//移位后与1进行按位与可以判断最末位的值,如果是1,那么按位与的结果为1,否则为0
    }
    printf("\n");
    system("pause");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/windyj809/article/details/79821260