输出一个数二进制的所有位及奇偶位

首先我们看一下输出一个整数二进制的所有位。

如果要输出它的所有位,从最高位开始每次移动i个长度,并且每一位都与1。

代码:

#include <stdio.h>

int main()
{
	int num = 9;
	int i;
	for (i = 31; i>=0;i--)
	{
		printf("%d",((num>>i)&1));
	}
	return 0;
}

同理奇数位从它的最高位开始,每次移动i个长度并且i=i-2,每一位都与1,。偶数位从第二为开始与奇数位移动相同。

代码:

#include <stdio.h>
int main()
{
	int i;
	int num=9;
	printf("奇数位");
	for (i=31;i>=0;i-=2)
	{
		printf("%d",((num>>i)&1));
	}
	printf("偶数位");
	for (i=30;i>=0;i-=2)
	{
		printf("%d",((num>>i)&1));
	}
	return 0;
}