异或运算

异或的运算方法是一个二进制运算:

1^1=0

0^0=0

1^0=1

0^1=1

两者相等为0,不等为1。

不使用第三方变量的情况下,交换两个变量的值。

public class yihuo {
    public static void main(String[] args) {
        //不使用新的变量,交换两个变量的值
        //a的值是10,二进制数是1010
        //b的值是20,二进制数是10100
        int a = 10;
        int b = 20;
        //输出交换之前a,b的值
        System.out.println("a--->"+a);
        System.out.println("b--->"+b);
        //a是密文,二进制数是11110
        a = a^b;
        //a赋值给b 此时b已经成了a
        b = a^b;
        //b赋值给a,此时完成了交换。
        a = a^b;
        //输出交换之后a,b的值
        System.out.println("a--->"+a);
        System.out.println("b--->"+b);
    }
}

运行结果:

 

posted @ 2021-06-17 16:19  递胜递负  阅读(236)  评论(0编辑  收藏  举报