Bitwise Operators
When you need to work with numbers bit by bit, as when working
with the mode bits returned by stat,
you’ll need to use the bitwise operators. These are the operators that
perform binary math operations on values. The bitwise-and operator
you’ll need to use the bitwise operators. These are the operators that
perform binary math operations on values. The bitwise-and operator
(&) reports which bits are set in
the left argument and in the right argument. For
example, the expression 10 & 12
has the value 8. The bitwise-and
needs to have a 1-bit in both operands to produce a one-bit in the
result. That means that the logical-and operation on 10 (which is
1010 in binary) and 12 (which is
1100) gives 8 (which is 1000, with a 1-bit only where the left operand
has a 1-bit and the right operand also has a
1-bit). See Figure 12-1.

Figure 12-1. Bitwise-and addition
Examples of the bit operators are shown inTable 12-2.
Table 12-2. Bitwise operators
Expression | Meaning |
|---|---|
| Bitwise-and—which bits
are true in both operands (this gives |
| Bitwise-or—which bits are
true in one operand or the other (this gives |
| Bitwise-xor—which bits
are true in one operand or the other but not both (this gives
|
| Bitwise shift left—shift
the left operand the number of bits shown by the right operand,
adding zero-bits at the least-significant places (this gives
|
|