#定義兩個變數 num1 num2按位異或運算即計算機會先把十進位制數轉化為二進位制數,並對二進位制數進行從右到左用從1開始編數,然後比較兩個二進位制數值相同位置的數,如果相同結果為0,不同時結果為1num1 = 20
num2 = 10
#把num1與num2的異或運算重新值賦給num1
num1 = num1 ^ num2
#再把新賦過值的num1與num2進行異或運算,並把值賦給num2即原來num1的值20
num2 = num1 ^ num2
#同樣,用num1再與num2做異或運算並賦值給num1,得到的num1的值即為最初num2的值10
num1 = num1 ^ num2
print(num1,num2)
如: 1010
則結果為 0101
總結:這種通過按位異或運算來交換兩變數的值,可以減少變數的定義,同時減少計算機對**的解析時間。
按位異或運算子
參與運算的兩個值,如果兩個相應位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 0 0 0,0 1 1 0異或任何數 任何數 1 0 1,1 1 0 1異或任何數 任何數取反 任何數異或自己 把自己置0 1 ...
按位異或運算子
2 實現兩個值的交換,而不必使用臨時變數。例如交換兩個整數a 10100001,b 00000110的值,可通過下列語句實現 a a b a 10100111 b b a b 10100001 a a b a 00000110 3 在組合語言中經常用於將變數置零 xor a,a 1 static i...
深度理解按位異或運算子
參與運算的兩個值,如果兩個相應位相同,則結果為0,否則為1。即 0 0 0,1 0 1,0 1 1,1 1 0 例如 10100001 00010001 10110000 0 0 0,0 1 1 0異或任何數 任何數 1 0 1,1 1 0 1異或任何數 任何數取反 任何數異或自己 把自己置0 1 ...