方法:奇偶错位异或。
题意:奇偶互换,两两互换,1010变成0101,10 00 11 01变成01 00 11 10
代码演示:
#include<iostream>
using namespace std;
int main(){
int x;
cin>>x;
int a=x&0xaaaaaaaa;//x与16进制的1010……进行与运算
int b=x&0x55555555;//x与16进制的0101……进行与运算
int ans=(a>>1)^(b<<1);
cout<< ans<<endl;
system("pause");
return 0;
}