• Enum 操作


        //如果需要计算,0开始没有意义,且数字都需要2进下只有一位为1其他为0者
        
    //public enum Color1s { Red = 1, Green = 2, Blue = 4 }
      
    //如果嫌麻烦可以用16进制的1,2,4,8在每位上重复即可,最多16位
       public enum Color1s 
         { 
             Red 
    =   0x001
             Green 
    = 0x002
             Blue 
    =  0x004,
             Pink 
    =  0x008,
             Black 
    = 0x010,
             Brown 
    = 0x020,
             
            Yellow 
    = 0x8000000000000000
        }


    1            Color1s color = Color1s.Blue | Color1s.Green;//增加 
    2            color = color &~Color1s.Blue;//减去CoLors1s.Blue
    3            if ((color & Color1s.Green) == Color1s.Green)//判断是否存在
    4            {
    5                
    6            }

    7



    原因是因为位操作(先把数字转成2进制)
    ______________________________________________________________________
    即0&0=0,0&1=0,1&0=0,1&1=1
         00000011
      & 00000101
         00000001   

    即 0|0=0,0|1=1,1|0=1,1|1=1

          00110000
        | 00001111
          00111111

    即:0∧0=0,0∧1=1,1∧0=1, 1∧1=0
          01111010
        ∧ 00001111
           01110101

    即~1 =0 ,~0=1
              0000000000010101  
            ~1111111111101010

    H1

    试验下
  • 相关阅读:
    POJ 1041(欧拉路)
    POJ 1904(强连通分量)Tarjan
    POJ 1486(二分图匹配)二分图的完全匹配的必须边
    POJ 1780(欧拉路)
    POJ 1386(欧拉路)
    HDU 3496(DP)
    PKU2387Til the Cows Come Home(SPFA+邻接表)
    HDU1863畅通工程(prim)
    ACM国内外OJ网站大集合
    HDU1175连连看(BFS)
  • 原文地址:https://www.cnblogs.com/Curry/p/1240163.html
Copyright © 2020-2023  润新知