int 型变量占16位,那么如何定义一个占用2位的整形变量,并可以使用数组呢?
用位段可以,但是不能定义位段数组,有那位知情者愿意帮帮我?

解决方案 »

  1.   

    到asm上问问吧!
    我是不会,gz!
    学习!
      

  2.   

    可以实现,需要借助一个数组类来实现,这个类需要提供如下函数
    SetAt(int nValue, int nIndex);
    int GetAt(int nIndex);
    int operator [] (int nIndex);然后借助位段
    struct ARR_ELEMENT{
    unsigned a0: 2;
    unsigned a1: 2;
    unsigned a2: 2;
    unsigned a3: 2;
    unsigned a4: 2;
    unsigned a5: 2;
    unsigned a6: 2;
    unsigned a7: 2;
    };ARR_ELEMENT *m_pArr;
    自己写代码喽,计算2位的数据在m_pArr中的位置,进行access,这样做应该很好用的。呵呵
      

  3.   

    http://www.6to23.com/s15/s15d8/2002227112439.htm