Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1956 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  égalité de deux doubles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

égalité de deux doubles

n°2043408
nastymushr​oom2
Posté le 20-12-2010 à 23:53:52  profilanswer
 

Bonjour,
me voila devant un probleme bizzare, j'ai deux doubles dont la valeur est identique a l'affichage ... mais la différence n'est pas toujours nulle ...
 
Le code :
 

Code :
  1. cerr.precision(10000);
  2.  double d1, d2;
  3.  d1 = ****************
  4.  d2 = ****************
  5. //   cerr << "valeur d1 : " << d1 << '\n';
  6. //   cerr << "valeur d2 : " << d2 << '\n';
  7. //   cerr << "valeur d1-d2 : " << d1-d2 << '\n';
  8.  if(d1 != d2){cerr << "valeur de d1-d2 : " << d1-d2 <<"\naaaaaaaaaaaaaaaaaaaaaaaaaaaaarg2\n";exit(1);}


 
Le résultat :
 

Code :
  1. valeur de d1-d2 : 0
  2. aaaaaaaaaaaaaaaaaaaaaaaaaaaaarg2


 
 
Si je décommente les lignes :
 

Code :
  1. cerr.precision(10000);
  2.  double d1, d2;
  3.  d1 = ****************
  4.  d2 = ****************
  5.   cerr << "valeur d1 : " << d1 << '\n';
  6.   cerr << "valeur d2 : " << d2 << '\n';
  7.   cerr << "valeur d1-d2 : " << d1-d2 << '\n';
  8.  if(d1 != d2){cerr << "valeur de d1-d2 : " << d1-d2 <<"\naaaaaaaaaaaaaaaaaaaaaaaaaaaaarg2\n";exit(1);}


 
 
J'ai comme résultat :
 

Code :
  1. valeur d1 : 0.475630950105875693889601052433135919272899627685546875
  2. valeur d2 : 0.475630950105875693889601052433135919272899627685546875
  3. valeur d1-d2 : 0


 
 
 
Etrange .. le fait d'afficher les valeurs "stabilise" les deux variables .... Une idée ?

mood
Publicité
Posté le 20-12-2010 à 23:53:52  profilanswer
 

n°2043418
Yonel
Monde de merde !
Posté le 21-12-2010 à 02:25:48  profilanswer
 

J'ai pas trop d'explication au comportement de ton programme.
 
Mais en principe pour tester l'égalité de deux doubles il faut faire
Math.Abs(a - b) < epsilon
avec epsilon égal à la précision que tu souhaites

n°2043428
Elmoricq
Modérateur
Posté le 21-12-2010 à 08:42:51  profilanswer
 

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  égalité de deux doubles

 

Sujets relatifs
[résolu]Tester l'égalité entre 2 float (incompréhensible...)comparer deix doubles
Egalité sur clé multi-colonne[MySQL-PHP] Egalité sur 2 strings qui ne fonctionne pas [résolu]
Test d'égalité non satisfait avec ifProblème de multiplication de doubles
Probleme avec guillemet-apostrophes doubles ”Doubles guillemets dans fonction mail()
Supprimer enregistrements doublesregrouper et compter les doubles
Plus de sujets relatifs à : égalité de deux doubles


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR