1. 程式人生 > >異或運算的辯白

異或運算的辯白

異或運算就是 相同為零,不同為一。

對於疑惑來說,設定一個變數a和變數b分別賦初值為3,那麼

                  B

a=a^b;          a     00      b    11

b=a^b;          a      00     b     11

a=a^b;          a      11     b      11

這樣的話a和b的值也相當於是進行了交換。

但是如果

                     B

a=a^a;          a     00      a    00

a=a^a;          a      00     a     00

a=a^a;          a      00     b      00

a就變成了0。

所以說用異或運算進行交換的時候一定要保證這個數不是自己,但是可以使相同的大小。