位运算运算符有哪些
& 按位与 都真才真
| 按位或 都假才假
~ 按位非 真变假,假变真
^ 按位异或 不同为真,同为假
<< 左移
>> 右移
&=
|=
^=
<<=
>>=
用法
例如有一个数是a,二进制表示为10010110,有一个MASK,二进制表示为00000010。
-
【查看位】我就想看a的第一位是0还是1,其他位全变0
a &= MASK
-
【查看位】我就想看a的第一位是0还是1,不改变a的值
if((a&MASK)==MASK)
-
【打开位】我就想让a的第一位变成1,其他位不变
a |= MASK
-
【关闭位】我就想让a的第一位变成0,其他位不变
a &= ~MASK
-
【转置位】我就想让a的第一位变成相反状态,其他位不变
if((MASK & m) == MASK) {m &= (~MASK);}
else {m |= MASK;}
-
左移右移什么的,就是左移右移呀。
网友评论