Python 和幂数学

问题描述 投票:0回答:4

我一直在学习Python,但我有点困惑。在线教练告诉我,当我尝试加注到某个数字时,使用运算符

**
而不是
^
。示例:

print 8^3

给出

11
的输出。但我要寻找的(我被告知)更类似于: print
8**3
,它给出了
512
的正确答案。但为什么呢?

有人可以向我解释一下吗?为什么

8^3
不等于
512
,因为它是正确答案?在什么情况下会是 11(
8^3
的结果)?

我确实尝试过搜索,但我只看到有关除法时获取模数的信息。

python math multiplication exponent
4个回答
84
投票

运算符

^
是一个按位运算符,它执行按位异或

幂运算符

**
,例如
8**3
等于
512


16
投票

这些符号代表不同的运算符。

^
表示按位异或(
XOR
)

输出的每一位与 x 中的对应位相同,如果 y 中的该位为 0,如果 y 中的该位为 1,则它是 x 中的位的补码。

**
代表幂运算符。 这就是语言的结构方式。


0
投票

只是

^
在Python中并不意味着“指数”。 它的意思是“按位异或”。 请参阅文档


0
投票

您还可以使用内置

pow
包中的
math
函数。那就是:

from math import pow
pow(8,3)
© www.soinside.com 2019 - 2024. All rights reserved.