Home > lang > and 
 en fr de es nl pl pt pt_BR mk sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Precedente  Successivo  Modifica  Rinomina  Undo  Refresh  Search  Amministrazione  
Documentazione
History
 
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)

Esempio

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 "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

Operatori aritmetici, Operatori logici, IF