获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列

来源:互联网 发布:139端口入侵教程 编辑:程序博客网 时间:2024/06/05 11:10
int Numberof_oddbits_evenbits(unsigned int num)//无符号整型的形参{    int arrOdd[16] = { 0 };    int arrEven[16] = { 0 };    int i = 0;    int flag = 1;    int m = 0;    for (i = 0; i < 16; i++)//找奇数位    {        int ret = 0;        if (num & flag)//该数和‘1’进行按位与运算,结果不为零则表示这位上的值是‘1’。        {            ret = 1;        }        else        {            ret = 0;        }        arrOdd[m] = ret;//把奇数位上的值放在数组Odd中        m++;        flag = flag<< 2;    }    flag = 2;  //偶数为从2开始    int j = 0;    for (i = 0; i < 16; i++)//找偶数位    {        int ret = 0;        if (num & flag)        {            ret = 1;        }        else        {            ret = 0;        }        arrEven[j] = ret; //把偶数位上的值放在数组Even中        j++;        flag = flag<< 2;    }    printf("该数的奇数位上的值是:");    for (i = 0; i < 16; i++) //打印数组Odd    {        printf("%d ", arrOdd[i]);    }    printf("\n");    printf("该数的偶数位上的值是:");    for (i = 0; i < 16; i++)//打印数组Even    {        printf("%d ", arrEven[i]);    }    return 0;}int main(){    printf("请输入一个整数:");    int num = 0;    scanf_s("%d", &num);    Numberof_oddbits_evenbits(num);    system("pause");    return 0;}

以数字'11'为例

阅读全文
0 0
原创粉丝点击