以下将使用到进制转换进制转换网页
python中 ^ 运算符:
^运算符为异或运算,例如:
a = 10
b = 100
a = a^b # a = 110
b = b^a # b = 100
a = a^b # a = 10
以上可以实现a,b值不通过中间变量互换,运算过程为:
a的二进制 1010 b的二进制 1100100
a : 0 0 0 1 0 1 0
b : 1 1 0 0 1 0 0
a^b: 1 1 0 1 1 1 0 ----> 110 (异或:相等为0,不等为1)
b : 1 1 0 0 1 0 0
b^a: 0 0 0 1 0 1 0 ---->10
a : 1 1 0 1 1 1 0
a^b: 1 1 0 0 1 0 0 ---->100
位运算符>>和<<
位运算符是对二进制数进行移位运算,>>右移,<<左移,不够补0
例:
a = 10
a >> 1 # a = 5
原理:a的二进制: 1010 向右移一位-> 0101 转为十进制:5