AND |
Et |
---|---|
Delphi/Kylix/Lazarus |
Syntaxe
boolean AND boolean |
entier AND entier |
Paramètres
Nom | Description |
---|---|
boolean | Ce paramètre permet d'indiquer une expression de type booléen avec lequel un «Et logique» est effectué |
entier | Ce paramètre permet d'indiquer une expression de type entière avec lequel un «Et binaire» est effectué |
Description
Ce mot réservé permet d'effectuer un Et logique sur des booléens ou Et binaire sur des valeurs numériques. Les opérandes entiers peuvent être de tout type entier, y compris un type de données Int64. Un AND logique est False, si l'un des opérandes est False et est True si les deux opérandes sont True.
Remarques
- Si vous effectuez des opérations sur des valeurs booléennes, les parenthèses sont requises pour l'isoler correctement.
- Si vous effectuez des opérations sur des valeurs booléennes, une valeur booléenne, soit TRUE ou FALSE, sera retournée.
- Si vous effectuez des opérations sur des valeurs entières, une valeur entière sera retournée.
- Contrairement à Pascal standard, si l'opérande de gauche est False, le Delphi n'évalue pas l'opérande de droite car le résultat doit être False de toute façon. Vous pouvez éviter cette opération de raccourci et revenir au Pascal standard avec les directives de compilation $BoolEval ou $B.
- Et AND entier agit sur chaque bit de ses opérandes, mettant le bit de résultat à zéro si l'un des opérandes a un bit zéro et met un bit à un si les 2 opérandes ont 1 bit. Si l'un des opérandes est plus petit que l'autre, le Delphi étend le plus petit avec le zéro dans les bits les plus à gauche. Le résultat est la taille du plus grand opérande.
Exemple
Voici un exemple permettant de tester si certains nombres sont impaires à l'aide de cet opérateur :
- Program AndSamples;
-
- {$APPTYPE CONSOLE}
- Uses SysUtils;
-
- Function IsOdd(X:Integer):Boolean;Begin
- IsOdd := Boolean(X AND 1);
- End;
-
- BEGIN
- WriteLn('Nombre -13 est impaire : ',IsOdd(-13));
- WriteLn('Nombre -1 est impaire : ',IsOdd(-1));
- WriteLn('Nombre 0 est impaire : ',IsOdd(0));
- WriteLn('Nombre 1 est impaire : ',IsOdd(1));
- WriteLn('Nombre 4 est impaire : ',IsOdd(4));
- WriteLn('Nombre 7 est impaire : ',IsOdd(7));
- WriteLn('Nombre 20 est impaire : ',IsOdd(20));
- END.
on obtiendra le résultat suivant :
Nombre -13 est impaire : TRUENombre -1 est impaire : TRUE
Nombre 0 est impaire : FALSE
Nombre 1 est impaire : TRUE
Nombre 4 est impaire : FALSE
Nombre 7 est impaire : TRUE
Nombre 20 est impaire : FALSE
Voir également
Mathématique - Algèbre de Boole - Table de vérité
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Not
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Or
Langage de programmation - Delphi/Kylix/Lazarus - Références de mots réservés (mots clefs) - Xor