public class 将整数的奇偶数互换 { public static void main(String[] args) { int a = 0b01000000_00000000_00000000_00000000; System.out.println(a); int b = m(a); System.out.println(b); Assertions.assertThat(b).isequalTo(0b10000000_00000000_00000000_00000000); } private static int m(int i){ //和 1010 1010 1010 1010 1010 1010 1010 1010 做 与 运算 取出 偶数位 int ou = i&0xaaaaaaaa; // 和 0101 0101 0101 0101 0101 0101 0101 0101 做 与 运算 取出 奇数位 int ji = i&0x55555555; return (ou>>1)^(ji<<1); } }
将二进制的奇偶数互换
最新推荐文章于 2024-09-14 19:44:09 发布
本文展示了如何使用位操作在Java中交换一个整数的奇偶位。通过与特定位模式进行与运算,分别提取出奇数位和偶数位,然后通过位移和异或操作实现奇偶位的互换。代码示例中,一个32位整数的最右边的零被替换为其左边的零,反之亦然,验证了位操作的正确性。
摘要由CSDN通过智能技术生成