位运算

位运算运算符有哪些

& 按位与 都真才真
| 按位或 都假才假
~ 按位非 真变假,假变真
^ 按位异或 不同为真,同为假
<< 左移
>> 右移
&=
|=
^= 
<<=
>>=

用法

例如有一个数是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;}

  • 左移右移什么的,就是左移右移呀。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容