Bonjour,

J'ai une question qui peut paraitre naïve, mais je me demande s'il existe des cas où il faut remplacer des tests d'égalité sur des nombres par des tests du type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#define precision 0.000001
 
bool isEquals(long double a, long double b) {
 long double diff = a - b;
 if (diff < 0.0) diff = - diff;
 return diff < precision;
}
Je code une application qui manipule beaucoup d'équations linéaires, et j'ai (pour l'instant) toujours pu valider mes tests avec des égalités (==) et pas des tests de distance comme ci dessus.

Je vous demande donc si:
  1. vous avez eu le problème d'erreurs dans les calculs? Et si oui, comment vous l'avez résolu?
  2. Si on peut avoir besoin du code (moche) ci dessus?
  3. Et si == suffit toujours, alors pourquoi?


Merci