怎么赋值才能让ID不重复,而且可通过|运算判断是否相等?比如
public static final int 模块1ID = xxx;
public static final int 模块2ID = xxx;
public static final int 模块3ID = xxx;
public static final int 模块4ID = xxx;
public static final int 模块5ID = xxx;
public static final int 模块6ID = xxx;
public static final int 模块7ID = xxx;
我想使用模块1和模块2还有模块6int 使用模块 = 模块1ID|模块2ID|模块6ID问题:
1.这些整数值取什么值?
2.然后就是怎么判断我使用了哪个模块?
新手简单问题javaAndroidC++

解决方案 »

  1.   

    public static final int 模块1ID = 0x01;
    public static final int 模块2ID = 0x02;
    public static final int 模块3ID = 0x04;
    public static final int 模块4ID = 0x08;
    public static final int 模块5ID = 0x10;
    public static final int 模块6ID = 0x20;
    public static final int 模块7ID = 0x40;
    if (currentModule | 模块1ID){
        模块1ID used;
    }
    if ((currentModule | 模块1ID) 
      || (currentModule | 模块2ID)
      || (currentModule | 模块3ID)) {
        模块1ID or 模块2ID or 模块3ID  used;
    }
      

  2.   

    谢谢了
    还有我想问下那些0xXX是怎么算出来的?
      

  3.   

    不是算出来的。
    0x1=0000 0001
    0x2=0000 0010
    0x4=0000 0100
    0x8=0000 1000
    0x10=0001 0000
    0x20=0010 0000
    0x40=0100 0000
    0x80=1000 0000
    一个bit代表一个模块, 这是经验。
      

  4.   

    上面的代码有问题, if (currentModule | 模块1ID)判断中的 "|" 应该都换成 "&"