偶尔看到位掩码?什么概念?有何用处?

解决方案 »

  1.   

    kinogre(小熊),兄弟,能具体一些吗?太抽象乐,有个大致的MM也不一定是丑:)在程序中有什么用处?
      

  2.   

    C语言中访问内存的最小单位是BYTE,但有些数据的描述,只要一个或几个BIT就可以了,当一个BYTE按约定的BIT位描述了几个不同的信息时,就不便于通过判断整个BYTE的值来确定其中的某个信息,此时用位操作判断,比如要判断某数第0位是不是1,可以这样:
    DWORD value=0x0007000f;
    DWORD mask=0x00000001;
    if(mask==(mask&value))
    {
    //第0位为1
    }
    if(0x00008000==(0x00008000&value))
    {
    //第0位为15位为1
    }