@Test
    /** * 思路:将原数的二进制数分别保留出奇数位数和偶数位数,然后再求异或实现奇偶互换 */
    public void test6() {
   
        int a = 21;
        //输出一个数字的二进制形式用Integer.toBinaryString()方法
        System.out.println(Integer.toBinaryString(a));
//16进制表示方法 0x开头
        //0xAAAAAAAA=10101010101010101010101010101010
        //0x55555555=01010101010101010101010101010101
        //a & 0xAAAAAAAA表示保留原数的奇数来做新数的偶数
        //a & 0x55555555表示保留原数的偶数来做新数的奇数
        int ou= a & 0xAAAAAAAA;
        int ji = a & 0x55555555;
        //奇数左移偶数右移
        int result = (ji << 1) ^ (ou >> 1);
        System.out.println(Integer.toBinaryString(result));


    }
    ~~~