获取一个数在二进制序列中的奇数和偶数位

获取一个数在二进制中的奇数位和偶数位并输出二进制序列
从最高位开始输出,偶数位为 31 29 27…
奇数位为 30 28 26…
i=i-2;
如何获取每一位的值,采用这样的方法:
(n>>i)&1
代码如下:

第二题
void  print(int n){   
	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);
	}
}
int main()
{
	int n;
	scanf("%d", &n);
	print(n);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/gaga_yu/article/details/83243033