Tema
#include <stdio.h>
#include <stdlib.h> // itoa
int main()
{
int a,b,x,y;//a:数
scanf("%d",&a);
char a1[32];//用于输出二进制
char b1[32];
itoa(a,a1,2);//使进制转化的函数
//用于后面对齐好比较
int m;
for(int i=0;i<32;i++)
{
if((a1[i]!=48)&(a1[i]!=49))
{
m=i;
break;
}
}
printf("该数的二进制表示为:%s\n",a1);
x=a&0xaaaaaaaa;
y=a&0x55555555;
x=x>>1;
y=y<<1;
b=x^y;
itoa(b,b1,2);
//用于后面对齐好比较
if((m&1)==0)
{
if(a1[1]=0)
printf("交换后的结果为 %s",b1);
else
printf("交换后的结果为 %s",b1);
}
else
printf("交换后的结果为 %s",b1);
}