AND
Risultato = Espressione AND Espressione
A seconda dell'espressione, l'operazione AND può essere sia a valutazione logica sia a valutazione numerica.
Nel caso di due espressioni booleane viene eseguita una valutazione logica, nel caso di due numeri interi, viene eseguita un'operazione numerica.
In questo caso, l'operatore AND è logico e quindi prende due espressioni booleane ritornado un valore vero o falso. I risultati che questo operatore ritorna sono mostrati nella tabella seguente:
A
|
B
|
A AND B
|
FALSE
|
FALSE
|
Falso
|
FALSE
|
TRUE
|
Falso
|
TRUE
|
FALSE
|
Falso
|
TRUE
|
TRUE
|
Vero
|
L'operatore AND numerico invece prende due valori interi e ritorna un valore intero. Ogni bit dei rispettivi valori specificati viene combinato in accordo alla seguente tabella:
A
|
B
|
A AND B
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
L'operatore AND numerico può essere utilizzato per testare lo schema di bit (percorso) di un numero. Può anche essere utilizzato per mascherare (mask) i bit selezionati di un numero. La tabella seguente mostra qualche esempio di come lavora l'operatore AND su due numeri interi.
Espressione
|
Spiegazione
|
10 AND 20 = 0
|
10 = binario 01010
20 = binario 10100
Quindi 10 AND 20 = 0
|
10 AND -20 = 8
|
10 = binario 00000000000000000000000000001010
-20 = binario 11111111111111111111111111101100
Quindi 10 AND -20 = 8 (binario 1000)
|
20 AND -20 = 4
|
20 = binario 00000000000000000000000000010100
-20 = binario 11111111111111111111111111101100
Quindi 20 AND -20 = 4 (binario 100)
|
Esempi
PRINT TRUE AND 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 "Sia A che B sono TRUE"
ELSE
PRINT "A o B o entrambi sono FALSE"
ENDIF
A o B o entrambi sono FALSE
Vedi anche