天天看点

(转载)Java中的异或运算符^

@Test
    public void test2() {
       int a=2;
       int b=3;
       a=a^b;
       b=a^b;
       a=a^b;
       System.out.println("a="+a+",b="+b);
    }
           

^是异或运算符,异或的规则是转换成二进制比较,相同为0,不同为1.

一个数a与另一个数b异或的结果等于a^b,用结果( a^b)异或a,就会得到b;

上面的结果,我们用代码来验证。代码( a=a^b; b=a^b; a=a^b;)可以转换成这样。

int c=a^b ; ------------ 01=10^11 得到结果C( a^b)

b=c^b; ------------ 10=01^11 用结果( a^b)异或a,就会得到b;

a=c^a; -------------11=01^10 用结果( a^b)异或b,就会得到a;

--------------------- 

作者:keepons 

来源:CSDN 

原文:https://blog.csdn.net/lkpklpk/article/details/81287115 

版权声明:本文为博主原创文章,转载请附上博文链接!