我一直在学习Python的,但我有点困惑。 在线教官告诉我,使用运营**而不是^当我试图提高到一定的数量。 例:
print 8^3
给出了11的输出。但我找(我说)更像是:打印8 ** 3,它给出了512但为什么正确的答案?
谁可以给我解释一下这个? 为什么是它8 ^ 3不等于512,因为它是正确的答案? 在什么情况下会11(8 ^ 3的结果)?
我曾尝试SO搜索,但我只看到关于分割时得到一个模信息。
我一直在学习Python的,但我有点困惑。 在线教官告诉我,使用运营**而不是^当我试图提高到一定的数量。 例:
print 8^3
给出了11的输出。但我找(我说)更像是:打印8 ** 3,它给出了512但为什么正确的答案?
谁可以给我解释一下这个? 为什么是它8 ^ 3不等于512,因为它是正确的答案? 在什么情况下会11(8 ^ 3的结果)?
我曾尝试SO搜索,但我只看到关于分割时得到一个模信息。
操作^
是位运算符 ,它不“按位异或”。
更多: http://wiki.python.org/moin/BitwiseOperators
幂运算符是**
,像8**3
相等于512
。
参考: http://docs.python.org/reference/expressions.html#the-power-operator
符号表示不同的运营商。
所述^
表示逐位异或( XOR
) 。
输出的每个比特是相同的x中的对应位,如果在y中该位是0,并且它是位的x中的补体,如果在y中该位是1。
**
代表幂运算符。 这仅仅是语言的结构方式。
这只是^
在Python并不意味着“指数”。 它的意思是“按位异或”。 见文档 。