好象是:
uint result= ((0xC0000000 >> i * 2) & n) >> ((15 - i) * 2);i为从高位起的位数(0-15)
n是提供的整数

解决方案 »

  1.   

    取整数某一位的方法是,除以2^(n-1)(或者说右移n-1位)再%2,结果是0就是0,结果是1就是1。
    取2位就是分别取这两位,然后高位x2+低位。
      

  2.   

    每次取两位 貌似用(192 >> pos) & n就可以了pos 是从高位到低位的索引值 0~15 且为2的倍数
    n 是你已知的整数Why 192? 192的二进制表示为11000000
    192 >> pos的目的就是把那两个11挪动到你要取值的位的位置
    如果只取1位 可以用128 其二进制表示为10000000
      

  3.   

    Sorry 我的式子子错了
    正确的 看
    & n后还要继续移位的不过道理就是那么个道理了00 01 11 10 四态的判断 就是判断结果是0,1,2,3而已了