题目描述
请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好)
给定一个int x,请返回交换后的数int。
测试样例:
10
返回:5
import java.util.*;
public class Exchange {
public int exchangeOddEven(int x) {
// write code here
//提取出奇数位上的数,然后整体向后移动一位
//提出出偶数位上的数,然后整体向左移动一位
return ((x&0xaaaaaaaa)>>1) | ((x&0x55555555)<<1);
}
}