C语言按位运算

1.符号:

&:与
|:或
~:取反
^:异或
<<:位左移
>>:位右移

2.运算(改变flags的位值):

(1)打开位(置1位):

flags |= MASK;
flags = flags | MASK;

MASK1 的位被打开(置1)
MASK0 的位不改变

(2)关闭位(清零位):

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

MASK1 的位被关闭(置0)
MASK0 的位不改变

(3)切换位:

flags ^= MASK;
flags = flags ^ MASK;

MASK1 的位被切换
MASK0 的位不改变

(4)位左移、位右移:

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

猜你喜欢

转载自blog.csdn.net/lcx1837/article/details/113769874
今日推荐