Opérations de Relation

Le booléen FAUX (FALSE) est représenté avec la valeur entière zéro, tandis que le booléen VRAI (TRUE) est représenté par n'importe quelle valeur différente de zéro.

La valeur des expressions contenant des opérations de relation ou des opérations logiques est FALSE (0) ou TRUE (1).

True si a est égal à b                       a == b;
True si a n'est pas égal à b                 a != b;
True si a est inférieur à b                  a < b;
True si a est supérieur à b                  a > b;
True si a est inférieur ou égal à b          a <= b;
True si a est supérieur ou égal à b          a >= b;

Deux nombres réels ne peuvent pas être comparés. Dans la plupart des cas, deux chiffres semblant identiques peuvent être inégaux en raison de valeurs différentes à la 15ème décimale. Pour pouvoir comparer correctement deux nombres réels, comparez la différence normalisée de ces nombres avec zéro.

Exemple :

bool CompareDoubles(double number1,double number2)
  {
   if(NormalizeDouble(number1-number2,8)==0) return(true);
   else return(false);
  }
void OnStart()
  {
   double first=0.3;
   double second=3.0;
   double third=second-2.7;
   if(first!=third)
     {
      if(CompareDoubles(first,third))
         printf("%.16f et %.16f sont égaux",first,third);
     }
  }
// Résultat : 0.3000000000000000  0.2999999999999998   sont égaux

Voir aussi

Règles de Précédence