欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言中的进制类型题目,获取一个数二进制序列中所有的奇数位和偶数位,分别输出二进制序列

程序员文章站 2022-07-14 23:41:55
...

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

  1. 思路:
    在32位操作系统中我们将奇数和偶数位分别右移动,向右移动以后&上一个1,这 样我们所输出的数字就都会是它本身。在32位操作系统中我们将奇数和偶数位分别右移动,向右移动以后&上一个1,这样我们所输出的数字就都会是它本身。
  2. 例如将第32位向右移动31位,这样我们再给数字&1,就会得到第三十二位的数字,以此类推,我们把奇数、偶数分别向右移动,得到我们想要的结果。
#include <stdio.h>
 int main()
{
         int num=0;
         int i=0;
         scanf("%d",&num);
            for (i=31;i>0;i-=2)
          {
                     printf("%d",(num>>i)&1);
          }printf("\n");
           for (i=30;i>=0;i-=2)
            {
                      printf("%d",(num>>i)&1);
            }
 return 0;
}

结果:
输入:
15
输出:
0000000000000011
0000000000000011