étrange Exponentielle [Résolu]

Signaler
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010
-
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010
-
Hello tout le monde,

Dans un programme, je dois calculer une exponentielle. Petit tour sur google, je vois que la librairie math.h contient la fonction
float exp (float x );
. Donc je me dit nickel bleu ciel, je la prends tel quel et voila que mon programme ne me retourne pas du tout la valeur attendue.

Voici un extrait du code :
#include <math.h>
.
.
.
const float Kb = 1.38E-23; //constante de Boltzmann

float test = exp(-4/Kb);
cout << test << "\n";


Ça me retourne 0 alors que je m'attends a recevoir une valeur du type 0.373249849.

Je me suis penché du coté de la taille des valeurs. Il se trouve que -4/Kb = −2.898550725e+23 et les floats peuvent prendre des valeurs entre -3.4*10^-38 à 3.4*10^38.

En revanche, pour d'autres valeurs plus "simple" la fonction renvoie des résultats corrects.

Merci de votre aide.
BirD

2 réponses

Messages postés
180
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
16 août 2012
2
Salut,

Moi ça me semble pas si mal comme résultat mathématique.
En tout cas, c'est sûrement pas 0.373249849.
Je suis pas un pro en thermo, mais je parierais bien sur le fait que ta formule est fausse ou incomplète.

Cordialement.
Messages postés
90
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
28 avril 2010

Ah oui en effet,

J'avais fait mon estimation avec la calculatrice du pc et j'ai du faire une erreur d'entrée...

bizzard. Merci.


BirD