Побитовое «И» и логическое «И» отличаются по типу работы и результатам.
Логическое «И» работает с булевыми значениями true или false и помогает запрограммировать дальнейшие действия компьютера в привязке к полученному результату. 1 Логическое «И» можно представить как умножение в двоичной системе. 1 Например, в C++ результатом выражения «2 && 1» (логическое «И») является булево значение true. 5
Побитовое «И» (его ещё называют побитовым умножением) применяется к двум цепочкам битов. 1 Сначала оператор обращается к первому биту в каждой из цепочек, потом ко второму и так далее. 1 Результатом этого выражения будет третья цепочка. 1 Только в том случае, когда в обеих цепочках стоит единица, программа вернёт единицу. 1 Во всех остальных случаях результатом будет ноль. 1
Таким образом, логическое «И» работает с логическими значениями, а побитовое «И» — с двоичными цепочками битов.