Documentation de Gambas - /lang/and

/lang/and
Le page anglaise est plus récente.

# AND

Resultat = Expression AND Expression

Selon l’expression, l’opération AND (ET) peut être un ET logique ou numérique. Dans le cas de deux expressions booléennes, une opération ET logique est effectuée. Dans le cas de deux valeurs entières, c’est une opération ET numérique.

L'opérateur ET logique confronte deux expressions booléennes et retourne une valeur True (vrai) ou False (faux). Le résultat renvoyé par cet opérateur obéit à la table suivante :

A | B | A AND B
--- | --- | ---
FALSE | FALSE | FALSE
FALSE | TRUE | FALSE
TRUE | FALSE | FALSE
TRUE | TRUE | TRUE

L’opérateur ET numérique confronte deux valeurs entières et retourne une valeur entière. Chaque bit correspondant des valeurs spécifiées est combiné selon la table qui suit :

A | B | A AND B
--- | --- | ---
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

L’opérateur ET numérique peut être utilisé pour tester le motif des bits d’un nombre. Il peut aussi être employé pour masquer des bits sélectionnés dans un nombre. La table suivante donne quelques exemples de la façon dont l’opérateur ET agit sur deux nombres entiers :

Expression | Explication
--- | ---
10 AND 20 = 0 | 10 = binary 01010 20 = binary 10100 Donc 10 AND 20 = 0
10 AND -20 = 8 | 10 = binary 00000000000000000000000000001010 -20 = binary 11111111111111111111111111101100 Donc 10 AND -20 = 8 (binary 1000)
20 AND -20 = 4 | 20 = binary 00000000000000000000000000010100 -20 = binary 11111111111111111111111111101100 Donc 20 AND -20 = 4 (binary 100)

### Exemples

    PRINT TRUE AND FALSE

    False

    PRINT TRUE AND TRUE

    True

    PRINT 7, Bin(7, 16)
    PRINT 11, Bin(11, 16)
    PRINT 7 AND 11, Bin(7 AND 11, 16)

    7       0000000000000111
    11      0000000000001011
    3       0000000000000011

    DIM A,B AS BOOLEAN

    A = 10 < 20
    B = 20 > 30

    IF A AND B THEN
      PRINT " A et B sont tous deux VRAIS"
    ELSE
      PRINT "Soit A soit B soit tous les deux sont FAUX "
    ENDIF

    Soit A soit B soit tous les deux sont FAUX

### Voir aussi

- Opérateurs arithmétiques

- Opérateurs logique

- IF