1. Symbol:
&
: And
|
: Or
~
: Inverted
^
: Exclusive Or
<<
: Bit Shift Left
>>
: Bit Shift Right
2. Operation (change the bit value of flags):
(1) Open position (set 1 bit):
flags |= MASK;
flags = flags | MASK;
MASK
for 1 Bit byOpen (set 1)
MASK
for 0 Bit ofdo not change
(2) Close bit (clear bit):
flags &= ~(MASK);
flags = flags & ~(MASK);
MASK
for 1 Bit byClose (set to 0)
MASK
for 0 Bit ofdo not change
(3) Switch position:
flags ^= MASK;
flags = flags ^ MASK;
MASK
for 1 Bit bySwitch
MASK
for 0 Bit ofdo not change
(4) Shift left and right:
flags<<n; // flags位左移n位
flags>>n; // flags位右移n位