【问题标题】:Why pow(-1, 0) returns 1 instead of -1?为什么 pow(-1, 0) 返回 1 而不是 -1?
【发布时间】:2013-08-19 17:56:07
【问题描述】:

作为google suggests -10=-1。据我了解,javascript 中的 pow() 函数,python 和 C 应该返回相同的结果。但事实并非如此。为什么?

Python:

>>> pow(-1, 0)
1

【问题讨论】:

  • 你没看到实际计算的是什么吗?在小计算器区,Google 实际上将您的输入解释为-(1 ^ 0)
  • 大家好,这是基础数学。至少学会如何使用计算器。
  • 0 power of any_number = 1
  • Math.pow(-1, 0) (JavaScript) 和 pow(-1.0, 0) (C) 也返回 1。
  • @GrijeshChauhan 从零到零不明确:stackoverflow.com/a/17368335/1708801

标签: pow


【解决方案1】:

这是一个优先事项。 Google 认为 (-1)0 = 1,Python 也是如此:

>>> (-1)**0
1

Any nonzero number raised by the exponent 0 is 1.

【讨论】:

  • @Dmitry:因为pow(-1, 0) == (-1)**0,而不是-(1**0)
  • 谢谢 - 这是一个答案! :)
【解决方案2】:

你忘记了括号!

-1 ^ 0 = -(1 ^ 0) = -(1) = -1

因为幂运算符具有更高的优先级。

但是:

(-1)^0 = 1

See on Google

【讨论】:

    【解决方案3】:

    任何 0 次方的结果都是 1。

    记住BEDMASS。您的谷歌示例执行括号 (1^0),即 1,然后执行乘法,将括号中的表达式否定为 -1。

    【讨论】:

      【解决方案4】:

      (-10)(-1/-1) 相同,即 1

      在除法中,您从分子的指数中减去分母的指数。 要使这条规则成立,所有提升到零次方的数字都是 1。51 / 51 = 50 = 1

      【讨论】:

      • 为什么不1/1 ?我想你想说(-1 ^ 0) == ( -1 ^ (1 -1)) == -1 ^1 * -1 ^ -1 == -1/ -1 那么很好的答案!
      • 我的意思是 (-1^0) == ((-1^1) / (-1^1))。将指数规则应用于第二个表达式会给你 -1^0 即 1。每个数字除以自身等于 1(零除外)。
      猜你喜欢
      • 2015-08-24
      • 1970-01-01
      • 2022-12-16
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多