java中异或^运算符的应用

java中的运算符异或^,其运算符规则是:两个操作数的位中,相同则结果为0,不同则结果为1。

应用

  • 一个数与0异或,值为这个数
    System.out.println(0^100);
    结果为100

  • 可以找出组数中没有重复的那个数
    如:

public class Demo1 {
    public static void main(String[] args) {
        int[] arr= {1,2,3,4,5,2,3,4,5,};
        int i,v=0;
        for(i=0;i<arr.length;i++) {
            v^=arr[i];
        }
        System.out.println(v);
    }
}

输出结果为 

异或的本质是转为二进制进行比较,即:3^4=7,可以理解为,3转为二进制为11,4转为二进制为100;所以结果为7,而7转为二进制为111.

猜你喜欢

转载自blog.csdn.net/qq_37964379/article/details/78910743
今日推荐