Allora:
l'operatore << effettua uno LEFT SHIFT (Shift a sinistra) di un certo numero di bit, aggiungendo a destra degli zeri. Esempio:
codice:
[110101] shiftato a sinistra di 1 bit --> [101010]
L'operatore >> è il fratello di quello precedente: effettua uno shift a destra.
L'operatore | è un OR bit per bit. Esempio:
codice:
[1011001] | [0111010] --> [1111011]: se c'è un 1 sul primo o sul secondo, nello stesso posto ci sarà nel risultato;
[1011001] | [0000000] --> [1011001]: nessun cambiamento, gli zeri non influenzano il risultato.
l'operatore & è il fratello di |: effettua un AND bit per bit. Esempio:
codice:
[1011001] & [0111010] --> [0011000]: dove ci sono gli zeri, ci saranno degli zeri nel risultato nella stessa posizione. Viene molto usato per creare delle maschere.
[1001011] & [0000001] --> [0000001]: la maschera (il secondo operando) fa in modo che nel risultato ci sia il valore dell'ultimo bit.
L'operatore ^ io lo conosco solo come elevamento a potenza:
codice:
a = 2^4;
ora 'a' vale 16.
L'ultimo io lo conosco solo come identificatore di distruttore in C++, ma prima di spiegarti cos'è un distruttore, dovresti studiarti un po' di programmazione ad oggetti (se giò l'hai fatto, allora dovresti sapere cos'è un distruttore).
Ciao.