交换一个整数的二进制表达的奇偶位
思路:可以通过将这个整数的二进制转化为字符串类型,然后分割形成数组,利用循环将奇偶位进行交换,
这里利用位运算来进行交换
public static int swap(int a ){ int ji = a&0x55555555; //和10101010...相与 取出奇数位 然后向后移动一位编程偶数位 int ou = a&0xaaaaaaaa; //和01010101...相与,取出偶数位,然后向左移动一位称为奇数位 return (ji<<1)^(ou>>1); //他们两个做异运算即可获得奇偶位交换后的数 }