Всегда забываю про работу с битами. Вот написал себе небольшую шпаргалку.
Если я хочу включить бит pos в байте byte:
byte |= 1 << pos;
Выключить бит pos в байте byte
byte &= ~(1 << pos);
Изменить бит числа byte в позиции pos на противоположный:
byte ^= 1 << pos.