• 我对位标识的使用


    位标识确实是特别好用,可以用它来设置权限。
    eg:一个八位的二进制去设置一系列的操作,初始化时:00000000,从第一步操作开始,每完成一次操作就使对应的位由0变为1。
    00000001 第一步完成
    00000011 第一步和第二步完成
    00000111 第一步和第二步和第三步都完成
    …… 当所有的位都为1时就表示所有的操作都已经完成

    但是当第二步完成后第一步也可以修改的情况下,此时即00000010。我们可以使用枚举操作设置完成的步骤。
    //测试数据录入状态的标志
    //下面的枚举值从低位开始标志8个录入项

    public enum DataState
    {
    step1= 1,
    step2= 2,
    step3= 4,
    step4= 8,
    step5= 16,
    step6= 32,
    step7= 64,
    step8= 128
    }
    定义属性 public DataState MyDataState{get;set}

    当为每一步条件进行判断,满足条件时,便可使对应位由0设置为1。

    this.MyDataState=this.MyDataState|DataState.step1;

    如果修改后的数据不满足此步要求的条件,就要将对应的位设置为0。

    this.MyDataState=this.MyDataState&(`DataState.step1);

    最后可保存到数据库中。

    以上只是个人理解,请多多指教。
  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/Cindys/p/1997491.html
Copyright © 2020-2023  润新知