Question

x passe à 0, les limites de x ^ 0 et 0 ^ x aller à 1 et 0, respectivement. Certains disent que la meilleure valeur pour 0 ^ 0 dépend du contexte, d'autres disent que la valeur de 0 ^ 0 doit être 1. Je suis intéressé à savoir ce que vos linguistiques disent implémenteurs. Il ne semble pas y avoir un consensus. Par exemple, dans ActiveState Perl 5.12.0:

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

Alors que dans Mathematica 6.0:

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

Je suis aussi intéressé à connaître votre avis sur la question: Que dois-0 ^ 0 soit? Et si vous avez déjà introduit un bug dans un programme que vous écrivez (ou a eu du mal à déboguer un programme) en raison de la façon dont vos poignées linguistiques des formes indéterminées?

Était-ce utile?

La solution

Selon ce article de Wikipedia,

"La plupart langage de programmation avec une fonction d'alimentation sont mises en œuvre à l'aide de la fonction pow IEEE et donc évaluer 0 ^ 0 à 1. Le plus tard C et les normes C ++ décrivent ce que le comportement normatif. Java mandats standards ce comportement. Le .NET procédé cadre System.Math.Pow traite également 0 ^ 0 comme 1 ».

Autres conseils

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 dit:

0 ^ 0 = 1

Delphi a obtenu 2 valeurs flottantes: NaN et Infinity. Qui obtiennent retournés en cas de bizarreries.

Mais il ne dispose pas d'une fonction intégrée de exponentiation.

^ est pour les pointeurs, comme dans « hey vous là-bas, je montre que vous! »

Licencié sous: CC-BY-SA avec attribution
scroll top