Arduino - Operatori bit per bit
Supponiamo che la variabile A contenga 60 e la variabile B contenga 13, quindi -
Nome dell'operatore | Operatore semplice | Descrizione | Esempio |
---|---|---|---|
e | & | L'operatore AND binario copia un po 'nel risultato se esiste in entrambi gli operandi. | (A e B) darà 12 che è 0000 1100 |
o | | | L'operatore OR binario copia un bit se esiste in uno degli operandi | (A | B) darà 61 che è 0011 1101 |
xor | ^ | L'operatore XOR binario copia il bit se è impostato in un operando ma non in entrambi. | (A ^ B) darà 49 che è 0011 0001 |
non | ~ | Binary Ones Complement Operator è unario e ha l'effetto di "ribaltare" i bit. | (~ A) darà -60 che è 1100 0011 |
sposta a sinistra | << | Operatore binario di spostamento sinistro. Il valore dell'operando sinistro viene spostato a sinistra del numero di bit specificato dall'operando destro. | Un << 2 darà 240 che è 1111 0000 |
sposta a destra | >> | Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. | Un >> 2 darà 15 che è 0000 1111 |
Esempio
void loop () {
int a = 10,b = 20
int c = 0;
c = a & b ;
c = a | b ;
c = a ^ b ;
c = a ~ b ;
c = a << b ;
c = a >> b ;
}
Risultato
c = 12
c = 61
c = 49
c = -60
c = 240
c = 15