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