C language bitwise operation

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;

MASKfor 1 Bit byOpen (set 1)
MASKfor 0 Bit ofdo not change

(2) Close bit (clear bit):

flags &= ~(MASK);
flags = flags & ~(MASK);

MASKfor 1 Bit byClose (set to 0)
MASKfor 0 Bit ofdo not change

(3) Switch position:

flags ^= MASK;
flags = flags ^ MASK;

MASKfor 1 Bit bySwitch
MASKfor 0 Bit ofdo not change

(4) Shift left and right:

flags<<n;		// flags位左移n位
flags>>n;		// flags位右移n位

Guess you like

Origin blog.csdn.net/lcx1837/article/details/113769874