C語言按位運算
阿新 • • 發佈:2021-02-10
1.符號:
&
:與
|
:或
~
:取反
^
:異或
<<
:位左移
>>
:位右移
2.運算(改變flags的位值):
(1)開啟位(置1位):
flags |= MASK;
flags = flags | MASK;
MASK
為 1 的位被開啟(置1)
MASK
為 0 的位不改變
(2)關閉位(清零位):
flags &= ~(MASK);
flags = flags & ~(MASK);
MASK
為 1 的位被關閉(置0)
MASK
為 0 的位不改變
(3)切換位:
flags ^= MASK;
flags = flags ^ MASK;
MASK
為 1 的位被切換
MASK
為 0 的位不改變
(4)位左移、位右移動:
flags<<n; // flags位左移n位
flags>>n; // flags位右移n位