Opérations Booléennes
Négation Logique NON (!)
L'opérande de la négation logique (!) doit être de type arithmétique. Le résultat est TRUE (1) si la valeur de l'opérande est FALSE (0) ; et il est égal à FALSE (0) si l'opérande diffère de FALSE (0).
Opération Logique OU (||)
Opération logique OU (||) des valeurs x et y. La valeur de l'expression est TRUE (1) si la valeur de x ou y est vraie (non null). Sinon - FALSE (0).
if(x<0 || x>=max_bars) Print("en dehors du range"); |
Opération Logique AND (&&)
Opération logique ET (&&) des valeurs x et y. La valeur de l'expression est TRUE (1) si les valeurs de x et y sont vraies (non null). Sinon - FALSE (0).
Brève Estimation des Opérations Booléennes
Le schéma de la fameuse "brève estimation" est appliqué aux opérations booléennes, c'est à dire que le calcul de l'expression est terminé quand le résultat de l'expression peut être estimé avec précision.
//+------------------------------------------------------------------+ //| Fonction de lancement du programme | //+------------------------------------------------------------------+ void OnStart() { //--- premier exemple d'estimation brève if(func_false() && func_true()) { Print("Opération && : Vous ne verrez jamais cette expression"); } else { Print("Opération && : le résultat de la première expression est faux, la deuxième expression n'a donc pas été calculée"); } //--- deuxième exemple d'estimation brève if(!func_false() || !func_true()) { Print("Opération || : le résultat de la première expression est vrai, la deuxième expression n'a pas été calculée"); } else { Print("Opération || : Vous ne verrez jamais cette expression"); } } //+------------------------------------------------------------------+ //| la fonction retourne toujours false | //+------------------------------------------------------------------+ bool func_false() { Print("Fonction func_false()"); return(false); } //+------------------------------------------------------------------+ //| la fonction retourne toujours true | //+------------------------------------------------------------------+ bool func_true() { Print("Fonction func_true()"); return(true); } |
Voir aussi
Règles de Précédence