打印整数二进制的奇数位和偶数位,C语言

打印整数二进制的奇数位和偶数位

int main()

{

	int n = 0;           //5  二进制序列  -  0000 0000 0000 0000 0000 0000 0000 0101

	scanf("%d", &n);

	int i = 31;

	while (i>=0)

	{

		printf("%d", (n >> i) & 1);//右移31位就是取的左边第一位,按位与1,是1才为1,否则为0

		i--;

	}

	printf("\n");

	printf("偶数位:");

	for (i = 30; i >= 0; i -= 2)

	{

		printf("%d ", (n >> i) & 1);//同上



	}

	printf("\n");

	printf("奇数位:");

	for (i = 31; i >= 0; i -= 2)

	{

		printf("%d ", (n >> i) & 1);

	}



	return 0;

}

你可能感兴趣的:(c语言,算法,开发语言)