Побитные операции в C++ отличаются от логических тем, что работают с двоичным представлением чисел. 2 Они определены только для целочисленных типов и не могут применяться к вещественным числам. 3
Логические операции возвращают значение булева типа, то есть либо истину, либо ложь. 1 У них определённый порядок приоритетов: первой выполняется операция логического отрицания, второй — операция логического И, третьей — логического ИЛИ. 1
Побитовые операции работают следующим образом: каждый бит числа слева взаимодействует с соответствующим битом числа справа. 2 При этом порядок проверок не определён, так как побитовые операции имеют высший приоритет относительно логических. 2
Ещё одно отличие в том, что логические операции возвращают значение булева типа, а побитовые — число. 1