首页 > TAG信息列表 > eor1

异或 应用

public static void process1(int[] arr) { int eor = 0; for (int ar : arr) { eor ^= ar; } // eor = a ^ b 两个奇数 结果为 1 // eor != 0 // eor 必然有一个位置上是 1 /* 提取罪右侧的 1

异或

异或运算满足交换率、结合律。 性质: a^0 = a a^a = 0 应用: 不需额外变量交换两个数的值(前提是a和b不能在同一个内存单元中) a = a^b b = a^b a = a^b 提取出int类型最右边的1 a & (~a + 1) 一个数组中有两个数出现了奇数次,其他数都出现了偶数次,求出现奇数次的这两个数? 用