Bonjour à vous tous;
Alors voila un code qui me fait des migraines:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <iomanip.h>
int main()
{
long double a,b,c,d;
a = 1;
b = 1e-09;
c = a - b;
d = 10*( a - b );
cout << " a = "<< a ;
cout <<"\n b = "<< b ;
cout <<"\n c = a - b = "<< c ;
cout <<"\n d = 10*( a - b )= "<<d<<"\n";
}
mon problème est qu'il me donne a - b = 1 et 10*(a - b) = 10 alors qu'il devrait me donner 0.999999999 et 9.99999999.
J'ai même essayé b = 1 - 1e-09 puis evaluer 1/(a-b), et alors il me donne 1/(a-b) = inf.
Quel est le problème et son remède.
Merci.