(6.3) The results of bitwise operations on signed
integers:
The result of a bitwise operation applied to a signed type
is the bitwise operation of the operands, including the sign bit.
Thus, each bit in the result is set if—and only if—each of the
corresponding bits in both of the operands is set.