& ist ein bitweise AND (binärer Operator), löscht Bits.
| ist ein bitweise OR (binärer Operator), setzt Bits.
^ ist ein bitweise EXOR (binärer Operator), dreht Bits um (kommt hier nicht vor).
~ ist bitweise NOT (unärer Operator) dreht alle Bits um
<< ist SHIFT-LEFT Operator (binär) a << b schiebt a um b Stellen nach links bzw multipliziert a mit 2^b (2 hoch b).
( und ) dienen zur Priorisierung. Genauso wie 1+2*3 was anderes ist als (1+2)*3. (Wenn es auf deinem Taschenrechne das gleiche ist, klopp ihn in dieTonne!).