Bonjour à vous tous;
Alors voila un code qui me fait des migraines:
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.
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"; }
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.
Partager