• 掩码


    按位与运算符常用于掩码(mask)。所谓掩码指的是一些设置为开(1)或关(0)的位组合。

    1、打开位(设置位)

     打开一个值中的特定位,同时保持其他位不变。

       flags  | MASK

      例:flags 是 00001111,MASK 是 10110110.下面的表达式:

        flags | MASK

        即:(00001111) | (10110110)

        其结果为:(10111111)

        MASK 中为 1 的位,flags 与其对应的位也为 1。MASK 中为 0 的位, flags 与其对应的位不变。

    2、关闭位(清空位)

     关闭指定的位,同时保持其他位不变。

      flags  & ~ ( MASK)

      例:flags 是 00001111, MASK 是10110110.下面的表达式:

          flags & ~(MASK)

        即:(00001111) & ~(10110110)

        其结果为:(00001001)

        MASK 中为 1 的位在结果中都被设置为(清空)为 0。flags 中与 MASK 为 0 的位相应的为在结果中都未改变。

    3、切换位

     打开已关闭的位,关闭已打开的位

      flags ^ MASK

      例:flags 是 00001111, MASK 是10110110.下面的表达式:

        flags ^ MASK

        即:(00001111) ^ (10110110)

        其结果为:(10111001)

        flags 中与 MASK 为 1 的位相对应的位都被切换,MASK 为 0 的位相对应的位不变。

    4、检查位

      检查某位的值。(覆盖 flags 中其他位的值,只用要检查的位和 MASK 比较) 

      ((flags & MASK)== MASK)//按位运算符的优先级小于等号,所以必须加上括号

    5、移位运算符

    number << n number 乘以 2 的 n次幂
    number >> n 如果 number 为非负,则用 number 除以 2 的 n 次幂 

      

  • 相关阅读:
    银行业务调度系统
    交通灯管理系统
    Java高新技术
    Java反射机制
    java的集合框架
    正则表达式
    IPD CBB
    TCP的可靠传输(依赖流量控制、拥塞控制、连续ARQ)
    等价类划分
    Pycharm常用配置汇总
  • 原文地址:https://www.cnblogs.com/moyu557/p/10777977.html
Copyright © 2020-2023  润新知