位运算

作者: porridgechen890 | 来源:发表于2017-07-23 14:11 被阅读0次

    位运算运算符有哪些

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

    用法

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

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

    相关文章

      网友评论

          本文标题:位运算

          本文链接:https://www.haomeiwen.com/subject/rzdcvttx.html