当x到0时,x^0和0^x的限制分别为1和0。有些人说0^0的最佳价值取决于上下文,另一些人说0^0的值应为1。我有兴趣知道您的语言实施者所说的话。似乎没有共识。例如,在Activestate Perl 5.12.0中:

C:\>perl -e "print 0**0"
1

在Mathematica 6.0中:

In[1]:= 0^0
        During evaluation of In[1]:= Power::indet:
        Indeterminate expression 0^0 encountered. >>
Out[1]= Indeterminate

我也有兴趣了解您对此事的看法:0^0应该是什么?而且,您是否曾经因为您的语言处理不确定表单的方式,是否曾经将错误引入您正在编写的程序(或很难调试程序)?

有帮助吗?

解决方案

根据 这个 维基百科文章,

“使用IEEE POW函数实施了大多数具有电源功能的编程语言,因此将0^0评估为1。后来的C和C ++标准将其描述为规范行为。Java标准规定了此行为。.NET Framework方法系统系统。

其他提示

Python:

>>> for t in [int, float, complex, fractions.Fraction, decimal.Decimal]:
...     print(t, t(0)**0)
... 
<type 'int'> 1
<type 'float'> 1.0
<type 'complex'> (1+0j)
<class 'fractions.Fraction'> 1
Traceback (most recent call last):
  ...
decimal.InvalidOperation: 0 ** 0

Google说:

0^0 = 1

Delphi有2个浮点值: NaNInfinity. 。在怪异的情况下,这将被归还。

但是它没有内置的指示功能。

^ 是指指针,如“嘿,你在那里,我指着你!”

许可以下: CC-BY-SA归因
scroll top