imba的bit向量

1,先给出一个模板.
#include <iostream>
using namespace std ;

class BitVector
{
public:
    enum{ BITSPERWORD=32, SHIFT=5, MASK=0x1f};
    void set(int i)
    {
        //除以32的整数部分   0到31其中的1位
        x[i>>SHIFT]|=(1<<(i&MASK));
    }
    void clear(int i)
    {
        x[i>>SHIFT]&=~( 1<<(i&MASK) );
    }
    int test(int i)
    {
        return x[i>>SHIFT]&(1<<(i&MASK));
    }
private:
    int* x;
};

int main ()
{
	return 0 ;
}

你可能感兴趣的:(bit)