AND
Resultado = Expression AND Expression
Dependiendo de la expresion, el operador AND puede ser un "Y logico" o un "Y numerico".
En el caso de dos expresiones booleanas, un Y logico es llevado a cabo. En el caso de dos números enteros, es un Y numerico el que se realiza.
El operador lógico Y tiene dos expresiones booleanas y devuelve un valor verdadero o falso. Los resultados devueltos por este operador se muestra en el cuadro siguiente:
A
|
B
|
A AND B
|
FALSE
|
FALSO
|
FALSO
|
FALSO
|
TRUE
|
FALSO
|
VERDADERO
|
FALSO
|
FALSO
|
VERDADERO
|
VERDADERO
|
VERDADERO
|
El operador Y numerico toma dos valores enteros y devuelve un valor entero. El cual corresponde a cada bit especificado en la siguiente tabla:
A
|
B
|
A AND B
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
El operador Y numérico se puede utilizar para probar el patrón de bits de un número. También puede utilizarse para enmascarar, un número de bits. La siguiente tabla ofrece algunos ejemplos de cómo funciona el operador AND en dos números.
Expression
|
Explanation
|
10 AND 20 = 0
|
10 = binary 01010
20 = binary 10100
Hence 10 AND 20 = 0
|
10 AND -20 = 8
|
10 = binary 00000000000000000000000000001010
-20 = binary 11111111111111111111111111101100
Hence 10 AND -20 = 8 (binary 1000)
|
20 AND -20 = 4
|
20 = binary 00000000000000000000000000010100
-20 = binary 11111111111111111111111111101100
Hence 20 AND -20 = 4 (binary 100)
|
Examples
PRINT TRUE AND FALSE
False
PRINT TRUE AND 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 "Both A and B are TRUE"
ELSE
PRINT "Either A or B or both are FALSE"
ENDIF
Either A or B or both are FALSE
Véase también