

But what is an example of where I can use it?
Aside from operations on bitfields, a bitwise operator can be useful in several “non bits” cases. For instance:
value & 1
evaluates to 1 if value
is odd (and will evaluate to True in an if
statement)
value >> 1
divides value
by 2 (integer division)
But usually bitwise operators are for when you want to manipulate bits in values. For instance:
value | 5
returns value
with bits 1 and 3 set to True
value & 0xffff
returns the 16 least-significant bits in value
(usually you do this to make sure it will fit in 2 bytes in memory for example)
value & (0xffff ^ 5)
returns the lower 16 bits of value
with bits 1 and 3 set to False
Etc.
They’re quite simple. Just convert the values to binary and apply the applicable truth tables. Just remember operator precedence when you use them, and in doubt, don’t trust your luck and apply parentheses generously 🙂