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
Code C/C++ :
. 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 :
Code C/C++ :
#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