Der & Operator ist für die Bitweise UND verknüpfung

& wird verwendet , wenn Du bspw. prüfen möchtest , ob ein bestimmtes Bit gesetzt ist.
Du willst zb. prüfen , ob das 3.Bit von x unabhängig von den anderen gesetzt ist : x & 4 (=00000100 in binär-schreibweise)
ergibt 4 ,wenn es gesetzt ist , sonst 0.

Also:
00000100 & 00000100 = 00000100 (Binär) = 4 (Dezimal)
01010000 & 00000100 = 00000000 (Binär) = 0 (Dezimal)