1. 程式人生 > >a=15,b=2,如何不通過其他變數和=符號交換a、b的的值

a=15,b=2,如何不通過其他變數和=符號交換a、b的的值

不能通過=符號交換的話,也就是說不能用其他變數去取儲存兩者值了。於是馬上想到了異或運算子:^

a = 15 二進位制:1111

b = 2 二進位制:0010

a = a ^ b = 1101 = 13

b = b ^ a = 1111 = 15

a = a ^ b = 0010 = 2

通過異或運算不用藉助第三個變數就可以交換兩者值,位運算神奇嗎

另外,推薦一篇很好的位運算詳解:java的位運算子詳解例項