Битовые операции — это тестирование, установка или сдвиг битов в байте или слове, которые соответствуют стандартным типам языка С char и int. Битовые операторы не могут использоваться с float, double, long double, void и другими сложными типами.
& - И; | - ИЛИ; ^ - Исключающее ИЛИ; ~ - дополнение; >> - сдвиг вправо; << - сдвиг влево.
Назначение: для организ. хранения в сжатом виде инф-ции о состоянии флагов(вкл-выкл). В одном байте можно хранить 8 флагов. Если переменная ch хранит флаги, то для проверки, находится ли флаг, содержащийся в третьем бите, в состоянии вкл(1), надо исп-ть операцию &.
Операторы сдвига >> и << сдвигают биты в переменной вправо и влево на указанное число. Общий вид оператора сдвига вправо: переменная >> число сдвигов, а общий вид оператора сдвига влево:
переменная << число сдвигов.
Оператор дополнение, ~, инвертирует состояние каждого бита указанной переменной, то есть 1 устанавливается в 0, а 0 — в 1.