异或交换
a,b = 1,-1
a = a ^ b
b = a ^ b
a = a ^ b
print('a:%s\nb:%s'%(a,b))
bin (二进制)
A : 0100 0001
B : 0100 0010
异或交换规则:
0 ^ 0 = 0 相同为0
1 ^ 0 = 1 不同为1
a = a ^ b
a : 0100 0001
b : 0100 0010
结果:a : 0000 0011
此时 a = 0000 0011
b = a ^ b
a : 0000 0011
b : 0100 0010
结果:b : 0100 0001
此时 b = 0100 0001
a = a ^ b :
a : 0000 0011
b : 0100 0001
结果:a : 0100 0010
此时 a = 0100 0010
最初
a = 0100 0001
b = 0100 0010
a = 1
b = -1
最终
a = 0100 0010
b = 0100 0001
a = -1
b = 1
ASCII标准表:
https://baike.baidu.com/item/ASCII/309296?fromtitle=ASC&fromid=5934917&fr=aladdin