Bonjour,
Je suis en train d'ecrire un programme pour lequel j'ai besoin d'une bonne precision de calcul. Or j'ai un probleme que je ne sais pas resoudre :
Si je fais la chose suivante :
et que je rentre par exemple 0,8, il me ressort 0,800000012, 0,200000003 et -1,4900116E-008
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 real p, q, r write(*,*) 'entrer la valeur de p' read(*,*) p q = 1 - p r = 1 - p - q write(*,*) p, q, r
Alors evidemment les erreurs se cumulent et je me retrouve parfois avec des probabilites calculees dont les valeurs sont superieures a 1 !
Comment peut-on faire pour que 0,2 soit egal à 0,2 et que 0,8 soit egal à 0,8 ? J'ai tente de declarer p, q, r en double precision, ca ne change rien.
Est-ce dû au format du read ?
Merci d'avance
Partager