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