如题  关键是怎么做 简便!
贴代码!

解决方案 »

  1.   

    第i位是否为1,i从0开始。
    int j = 12345678;
    int k = 1 << i;
    if ((j & k)==k)
    // 第i位为1
    {
    }
      

  2.   

    第i位是否为1,i从0开始。 
    int j = 12345678; 
    int k;
    if i>0
      k = 1<<(i-1);
    else
      k = 1;
    if(j&k){ 
      // 第i位为1 
    }
      

  3.   

    直接移位处理,比如
    BYTE bBuff = 0x15;
    int nState1 = bBuff & 0x01
    int nState2 = (bBuff >> 1) & 0x01;
    int nState3 = (bBuff >> 2) & 0x01;