AND |
Et |
---|---|
VB .NET (Visual Basic .NET) |
Syntaxe
a AND b |
Paramètres
Nom | Description |
---|---|
a | Ce paramètre permet d'indiquer une expression de type entière avec lequel un «Et binaire» est effectué |
b | Ce paramètre permet d'indiquer une expression de type entière avec lequel un «Et binaire» est effectué |
Description
Cet opérateur permet d'effectuer un Et logique sur des booléens ou Et binaire sur des valeurs numériques.
Remarques
- Pour la comparaison booléenne, le résultat est True si et seulement si a et b sont évaluées à True. Le tableau suivant illustre comment le résultat est déterminé :
- Dans une comparaison booléenne, l'opérateur And évalue toujours les deux expressions, ce qui peut inclure des appels de procédure. L'opérateur AndAlso effectue un court-circuit, ce qui signifie que si a est False, alors b n'est pas évaluée.
- Lorsqu'il est appliqué à des valeurs numériques, l'opérateur And effectue une comparaison au niveau du bit de bits positionnés de manière identique dans deux expressions numériques et définit
le bit correspondant dans le résultat conformément au tableau suivant :
Si bit est a est Et bit dans b est Le bit dans résultat est 1 1 1 1 0 0 0 1 0 0 0 0
- Étant donné que les opérateurs logiques et au niveau du bit ont une priorité inférieure à celle des autres opérateurs arithmétiques et relationnels, toutes les opérations au niveau du bit doivent être mises entre parenthèses pour garantir des résultats précis.
- Si les opérandes se composent d'une expression booléenne et d'une expression numérique, le Visual Basic .NET convertit l'expression booléenne en une valeur numérique (-1 pour True et 0 pour False) et effectue une opération au niveau du bit.
- Pour une comparaison booléenne, le type de données du résultat est booléen. Pour une comparaison au niveau du bit, le type de données de résultat est un type numérique approprié pour les types de données de a et b.
- L'opérateur And peut être surchargé, ce qui signifie qu'une classe ou une structure peut redéfinir son comportement lorsqu'un opérande a le type de cette classe ou structure. Si votre code utilise cet opérateur sur une telle classe ou structure, assurez-vous de comprendre son comportement redéfini.
Si a est | Et b est | La valeur du résultat est |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
Exemples
Voici quelques exemples typiques de l'utilisation de cet opérateur :
- Module Module1
-
- Sub Main()
- Console.WriteLine("0 AND 1 = " & Convert.ToString(0 And 1))
- Console.WriteLine("1 AND 1 = " & Convert.ToString(1 And 1))
- Console.WriteLine("2 AND 1 = " & Convert.ToString(2 And 1))
- Console.WriteLine("3 AND 1 = " & Convert.ToString(3 And 1))
- Console.WriteLine("4 AND 1 = " & Convert.ToString(4 And 1))
- Console.WriteLine("0 AND 2 = " & Convert.ToString(0 And 2))
- Console.WriteLine("1 AND 2 = " & Convert.ToString(1 And 2))
- Console.WriteLine("2 AND 2 = " & Convert.ToString(2 And 2))
- Console.WriteLine("3 AND 2 = " & Convert.ToString(3 And 2))
- Console.WriteLine("4 AND 2 = " & Convert.ToString(4 And 2))
- End Sub
-
- End Module
on obtiendra le résultat suivant :
0 AND 1 = 01 AND 1 = 1
2 AND 1 = 0
3 AND 1 = 1
4 AND 1 = 0
0 AND 2 = 0
1 AND 2 = 0
2 AND 2 = 2
3 AND 2 = 2
4 AND 2 = 0
Voici un exemple permettant de tester si certains nombres sont impaires à l'aide de cet opérateur :
- Module Module1
-
- Function IsOdd(X As Integer) As Boolean
- Return Convert.ToBoolean(X And 1)
- End Function
-
- Sub Main()
- Console.WriteLine("Nombre -13 est impaire : " & IsOdd(-13))
- Console.WriteLine("Nombre -1 est impaire : " & IsOdd(-1))
- Console.WriteLine("Nombre 0 est impaire : " & IsOdd(0))
- Console.WriteLine("Nombre 1 est impaire : " & IsOdd(1))
- Console.WriteLine("Nombre 4 est impaire : " & IsOdd(4))
- Console.WriteLine("Nombre 7 est impaire : " & IsOdd(7))
- Console.WriteLine("Nombre 20 est impaire : " & IsOdd(20))
- End Sub
-
- End Module
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
Dernière mise à jour : Dimanche, le 9 novembre 2014