面试题 05.07. 配对交换
配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。
55555555 == 0101 0101 0101 0101 0101 0101 0101 0101 & num 筛出奇数位
aaaaaaaa == 1010 1010 1010 1010 1010 1010 1010 1010 & num 筛出偶数位
func exchangeBits(num int) int {
return ((num & 0x55555555) << 1) | ((num & 0xaaaaaaaa) >> 1)
}