【问题标题】:Python and Powers MathPython 和 Powers 数学
【发布时间】:2012-08-16 03:39:24
【问题描述】:

我一直在学习 Python,但我有点困惑。当我试图加注到某个数字时,在线教练告诉我使用运算符 ** 而不是 ^。示例:

print 8^3

输出 11。但我正在寻找的(有人告诉我)更类似于: print 8**3 给出的正确答案是 512。但是为什么呢?

谁能给我解释一下?为什么 8^3 不等于 512 因为它是正确答案?在什么情况下 11(8^3 的结果)?

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

【问题讨论】:

  • ^ 是 XOR 运算符,** 是幂。搜索 XOR(google 或 stackoverflow)以了解它的含义。
  • 哇,非常感谢。我以为我做错了什么(本质上我想我这样做是因为假设 ^ 是 Python 中的权力。谢谢你的澄清。
  • @user1527653 -- 不要忘记接受答案(单击答案旁边的小复选标记)。这可以帮助其他遇到同样问题的人,让他们立即知道哪些已发布的解决方案对您最有用。

标签: python math multiplication exponent


【解决方案1】:

运算符^bitwise operator,它按位异或

The power operator**,如 8**3 等于 512

【讨论】:

    【解决方案2】:

    符号代表不同的运算符。

    The ^ represents the bitwise exclusive or (XOR)

    输出的每一位都与 x 中的对应位相同,如果 y 中的那个位是 0,如果 y 中的那个位是 1,它就是 x 中的位的补码。

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

    【讨论】:

    • 还值得指出8.^3 引发异常,因为按位运算仅适用于整数
    • 哇,我以前从未使用过位运算符(毕竟我只是在学习语言),太有趣了!谢谢
    【解决方案3】:

    只是^ 在 Python 中并不表示“指数”。它的意思是“按位异或”。见the documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      相关资源
      最近更新 更多