天天看點

(轉載)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 

版權聲明:本文為部落客原創文章,轉載請附上博文連結!