输入一个整数a,再输入两个整数p1,p2将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出

#include<stdio.h>
int main()
{	
        int a;
	int p1,p2;
	int i;
	printf("输入整数:");
	scanf("%d",&a);
	printf("取反哪两位之间的二进制数?\n");
	scanf("%d",&p1);
	scanf("%d",&p2);
	if(p1<p2&&p2<32)
	{
		for(i=1;i<p1;i++)
		{
			a=a>>1;
		}
		for(i=0;i<=p2-p1;i++)
		{
			printf("%d ",a&1^1);
			a=a>>1;
		}
		printf("\n");
	}
	else
	{
		printf("输入有误!");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/phenomenon_ting/article/details/89044472
今日推荐