c语言打印一个整数的二进制的奇数位和偶数位

#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
void  Show(int n)
{
    
    
	//打印一个数二进制的奇数位和偶数位
	int i = 0;
	printf("奇数位:");
	for (i = 30; i >= 0; i-=2)
	{
    
    
		if ( n & (1 << i)) //对1进行左移;‘&’是按位与运算,即0&0=0;0&1=0;1&0=0;1&1=0
		{
    
    
			printf("%d ", 1);
		}
		else  {
    
    
			printf("%d ",0);
		}
	}
	printf("\n");
	printf("偶数位:");
	for (i = 31; i >= 0; i-=2)
	{
    
    
		if (n & (1 << i)) {
    
    
			printf("%d ", 1);
		}
		else 
		{
    
    
			printf("%d ", 0);
		}
	}
	printf("\n");
}
int main()
{
    
    
	int m = 0;
	scanf("%d", &m);
	Show(m);
	system("pause");
	return 0;
}
运行环境:vs2019

附图:
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46078890/article/details/106463629