Żeby zobaczyć czy dany bit jest ustawiony musisz utworzyć maskę bitową w której ustawiony jest tylko wybrany bit i zrobić sumę bitową liczby z tą maską.
Przykład: liczba = 255, chcesz zobaczyć bit 3 (numerowanie od zera)
liczba - 11111111
maska - 00001000
& - 00001000 <-- różne od 0, bit ustawiony
Aby uzyskać maskę możesz użyć operatora przesunięcia bitowego
int maska = 1 << numer_bitu;
Aby odwrócić bit użyj takiej samej maski i operatora XOR
liczba - 11111111
maska - 00001000
^ - 11110111