&, ^, or | operator are of type boolean, then the type of the bitwise operator expression is boolean.
Also note the bottom of the page here.
Don't confuse &&, which is the logical and,
with &, which is the uncommon bitwise and.
Altho the bitwise and can also be used with boolean operands, this is extremely
rare and is almost always a programming error.