为什么^
不在Python中?我知道取幂是**
,但究竟是^
,为什么不使用该算子呢?
例如2^2=0
,3^2=1
。
答案 0 :(得分:6)
^
运算符已用于bitwise xor。
>>> x = 42; format(x, '08b')
'00101010'
>>> y = 137; format(y, '08b')
'10001001'
>>> z = x ^ y; format(z, '08b')
'10100011'
这使得旧的Fortran-style **
运算符无法求幂。
>>> base = 5
>>> exp = 2
>>> base ** exp
25
答案 1 :(得分:1)
python中的“^”符号是一个按位的异或(XOR)运算符。如果其中一个输入或另一个为真,则“或”门为真。当且仅当单个输入为真时,XOR门才为真。 00和11都是假的。 01和10都是真的。逐位XOR可用于检查有多少位不同。
例如,