其实这一题的意义在哪里,就是让我们熟悉如何去求对应二进制的每一个数字
那么要找到32位是不是就要右移31位,要找到31位是不是右移30位
那我们用两个for循环是不是代码就写出来了
int main()
{
int n = 13;
int i = 0;
//先打印偶数位吧
for (i = 31; i >= 0; i -= 2)
{
printf("%d ", (n >> i) & 1);
}
printf("\n");
//再打印奇数位
for (i = 30; i >= 0; i -= 2)
{
printf("%d ", (n >> i) & 1);
}
return 0;
}
不难理解吧,如果有帮助请给个赞吧