Hi
The following demonstrates that bitwise & and | work similar to logical AND(&&) and logical OR(||).

bitwise &
(true & true):true
(true & false):false
(false & true):false
(false & false):false

bitwise |
(true | true):true
(true | false):true
(false | true):true
(false | false):false

Then, why do we have logical AND and OR?