位运算题3:将整数奇偶位互换
将整数二进制奇偶位互换,例如:0000 1001 奇偶互换后为 0000 0110
奇偶从左往右数
步骤一:和0101 0101作与&运算得a
步骤二:和1010 1010作与&运算得b
步骤三:a又移一位和b左移一位作异或运算
private satic int m(int i){
int ou=i & 0xaaaaaaaa;//和1010 1010。。。。作与运算取出偶数位
int ji=i & 0x55555555;//和0101 0101。。。。作与运算取出奇数位
return(ou>>1)^(ji<<1);//连起来