分别输出一个数的奇数位和偶数位的二进制序列
程序员文章站
2022-03-06 08:22:17
...
思路
通过观察我们可以发现可以通过移位操作实现奇数位序列和偶数位序列的输出
(1)奇数序列:每次右移奇数位然后&1,可以依次输出。
(2)偶数序列:每次右移偶数位然后&1,可以依次输出。
(3)这样都是逆序输出的,我们在代码中奇数从31位,偶数从30位开始移位即可。
代码实现
#include <stdio.h>
int main()
{
int num = 0;
int i = 0;
printf("please enter a num:\n");
scanf("%d",&num);
printf("奇数序列为:\n");
for(i=31; i>=0; i-=2)
{
printf("%d",(num >> i) & 1);//每次右移奇数位输出
if((i+7) % 8 == 0)//每四个打印一个空格方便观察
{
printf(" ");
}
}
printf("\n");
printf("偶数序列为:\n");
for(i=30; i>=0; i-=2)
{
printf("%d",(num >> i) & 1);//每次右移偶数位输出
if((i+8) % 8 == 0)//每四个打印一个空格方便观察
{
printf(" ");
}
}
printf("\n");
return 0;
}
效果截图
上一篇: stm32F103R6之CRC
下一篇: Java学习-第一天
推荐阅读
-
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
-
获取一个数的二进制序列中所有的偶数位和奇数位, 分别输出其二进制序列
-
【C练】获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
-
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列
-
获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
-
.获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
-
.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
-
获取一个数二进制序列中所有的偶数位和奇数位,并输出二进制序列。
-
一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
-
C语言获取一个数二进制所有偶数位和奇数位分别输出二进制序列