问题 交换二进制中i和j两个位置 解决方案 首先检查i和j两位是否一致,若一致则无需进行修改。 若不一致,创建一个i和j设为1的掩码,和原二进制进行异或即可。 public static long swapBits(long x, int i, int j) { if(CCx»> i)&1)!=((x»> j)&1)){ long bitMask = (IL « i)| (IL « j);//掩码 x^ = bitMask; //异或 } return x; }