IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

fonction math : pow()


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut fonction math : pow()
    Bonjour,

    J'ai un etrange comportement de ma fonction pow() de <math.h>
    En effet, pow(0,0) g�n�re une erreur alors que le r�sultat devrait etre 1.
    Ce que me donne dailleurs d'autre compilateur sous linux.
    Quelqu'un a deja observ� ca, ou es-je un souci dans mon BDS6
    Merci d'avance

  2. #2
    R�dacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par d�faut
    uriotcea a ecrit:
    Bonjour,

    J'ai un etrange comportement de ma fonction pow() de <math.h>
    En effet, pow(0,0) g�n�re une erreur alors que le r�sultat devrait etre 1.
    Ce que me donne dailleurs d'autre compilateur sous linux.
    Quelqu'un a deja observ� ca, ou es-je un souci dans mon BDS6
    Merci d'avance
    voila ce que donne l"aide
    Prototype

    double pow(double x, double y);

    long double powl(long double x, long double y);
    #include <math.h>
    #include <stdio.h>

    int main(void)
    {
    double x = 2.0, y = 3.0;

    printf("%lf raised to %lf is %lf\n", x, y, pow(x, y));
    return 0;
    }

  3. #3
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Oui, et alors ????

  4. #4
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Dans l'aide j'ai ca:
    On success, pow and powl return the value calculated of x to the power of y.

    Sometimes the arguments passed to these functions produce results that overflow or are incalculable. When the correct value would overflow, the functions return the value HUGE_VAL (pow) or _LHUGE_VAL (powl). Results of excessively large magnitude can cause the global variable errno to be set to

    ERANGE Result out of range

    If the argument x passed to pow or powl is real and less than 0, and y is not a whole number, or if x is 0 and y is less than 0, or you call pow(0,0), the global variable errno is set to

    EDOM Domain error

    Error handling for these functions can be modified through the functions _matherr and _matherrl.
    Il faut que x (dans x^y) soit strictement sup�rieur � 0. Je suppose donc que tu dois avoir une erreur de domaine. Ce n'est pas propre, mais si tu veux parer cette erreur, tu dois tester avant si x=y=0 et parer donner directement le r�sultat que tu connais.

  5. #5
    Membre �prouv� Avatar de uriotcea
    Homme Profil pro
    Ing�nieur / physicien
    Inscrit en
    Septembre 2003
    Messages
    1 301
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur / physicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 301
    Par d�faut
    Oui ca je l'ai fait!
    Mais moi j'attendais d'une fonction math�matique quelle renvoie la valeur correcte et pas une erreur.
    Zero � la puissance zero doit donner 1. C'est math�matiquement vrai et simple. D'autres compilateurs essay�s me donnent bien ce r�sultat attendu. D'ou ma surprise.
    Dans le meme genre j'ai vue que certaine fonction tel que atan() donne aussi des resultats faux pour la library fastmath.h
    Franchement je trouve toutes ces erreurs tr�s graves.

  6. #6
    Membre �clair�
    Profil pro
    Inscrit en
    Ao�t 2002
    Messages
    481
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2002
    Messages : 481
    Par d�faut
    En math�matique z�ro � la puissance z�ro est ind�termin� :
    5 � la puissance 0 =1
    0 � la puissance 3 = 0;

    Alors 0 � la puissance 0 ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me fonction Math.pow
    Par suNiz dans le forum D�buter avec Java
    R�ponses: 21
    Dernier message: 13/01/2012, 12h47
  2. R�ponses: 1
    Dernier message: 25/12/2006, 16h03
  3. la fonction puissance pow() ? entier, r�el ?
    Par italiasky dans le forum C
    R�ponses: 9
    Dernier message: 03/12/2006, 17h41
  4. coordonn�es g�om�triques et fonctions maths
    Par passie dans le forum PostgreSQL
    R�ponses: 1
    Dernier message: 15/09/2006, 13h27
  5. aide fonction math[racine,cos(),sin(),..]VB6
    Par am.adnane dans le forum VB 6 et ant�rieur
    R�ponses: 3
    Dernier message: 28/12/2005, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo