AND, OR, NOT

Opérateur

Syntaxe

Combine des conditions : AND est vrai quand les deux côtés le sont, OR quand au moins un l'est, et NOT inverse une condition. Ils sont logiques, pas bit à bit.

<a> AND <b>
<a> OR <b>
NOT <a>

S’écrit aussi : AND, OR, NOT

Les éléments

<a>N'importe quelle valeur ou condition. 0, une chaîne vide, FALSE et NULL comptent comme faux ; tout le reste compte comme vrai.
<b>N'importe quelle valeur ou condition. Elle n'est évaluée que si c'est utile : sautée dans a AND b quand a est faux, et dans a OR b quand a est vrai.

À savoir

  • Sur de simples nombres, AND et OR renvoient l'un de leurs opérandes, pas 1 ou 0 : 5 AND 3 vaut 3, 0 OR 7 vaut 7. Les BASIC classiques calculent ici bit à bit. Pour les bits, utilisez &&, || et !.
  • Une comparaison complète rangée dans une variable vaut 1 ou 0 : r = x > 0 AND y = 0 range 1. Mais n = NOT y range TRUE ou FALSE, qui s'affichent true et false. Testez-la avec IF n THEN, pas IF n = 1.
  • Ordre : NOT passe avant les comparaisons, qui passent avant AND, qui passe avant OR. Ainsi NOT a = b signifie (NOT a) = b : écrivez a <> b.
  • XOR n'est ni logique ni bit à bit : 5 XOR 3 se compile, mais le programme ne démarre pas. Écrivez ~~ pour le ou exclusif bit à bit.
  • Les mots ignorent la casse : and, Or et not fonctionnent.

Exemple

x = 5y = 0IF x > 0 AND y = 0 THEN Console("both")   ' bothIF x < 0 OR y = 0 THEN Console("one of them")   ' one of themIF NOT y THEN Console("y is zero")   ' y is zerov = 5 AND 3Console(Str(v))   ' 3
Dans le manuel : Constantes et opérateurs