zoukankan      html  css  js  c++  java
  • 二进制位运算解决状态值

    static void Main(string[] args)
    {
    int i1 = 1;
    int i2 = 2;
    int i3 = 4;
    int i4 = 8;

    int j1 = 16;
    int j2 = 32;
    int j3 = 64;
    int j4 = 128;

    int z1 = 256;
    int z2 = 512;
    int z3 = 1024;
    int z4 = 2048;

    int t1 = 4096;
    int t2 = 4096*2;
    int t3 = 4096 * 2*2;
    int t4 = 4096 * 2 * 2 * 2;
    // 1//第1个属性第一个状态
    // 10//第1个属性第二个状态
    // 100
    // 1000
    // 10000//第2个属性第一个状态
    //100000
    int temp = i1 |j1|z1|t1;//1000100010001,4个属性均取第一个状态
    //身份证未上传 1
    //身份证待审核 10
    //身份证未未通过 100
    //身份证待通过 1000
    //执照未上传 10000
    //。。。。
    //即把所有放在一个

    if ((temp & i1) == i1)//temp&i1 最后一个为真,结果是1,故相等
    {
    temp = temp&(~i1);//取反~i1,1000100010001&11111111111111111111111111111110,将最低一位置零
    temp = temp | i2;//设置其为 第1个属性第二个状态
    }
    }

  • 相关阅读:
    查找算法
    Android IPC
    运输层和TCP/IP协议
    二叉树的学习笔记
    java 和 JVM
    转载: GIt远程操作详解
    java-jpa-criteriaBuilder使用
    java项目构建工具Maven
    虚拟机下安装Maven
    validate表单验证-单独验证
  • 原文地址:https://www.cnblogs.com/zhoudelun/p/8031704.html
Copyright © 2011-2022 走看看