//颠倒a中,第i位。
//显然,a的类型还可以换成char等。
void flipBit(int & a,int i) { a^=(1<<i); }
//获取a中第i位。 int getBit(int a,int i) { return (a>>i)&1; }
//设置a中第i位。
void setBit(int & a,int i,int value) { if(value) a|=(1<<i); else a&=~(1<<i); }
//颠倒a中,第i位。
//显然,a的类型还可以换成char等。
void flipBit(int & a,int i) { a^=(1<<i); }
//获取a中第i位。 int getBit(int a,int i) { return (a>>i)&1; }
//设置a中第i位。
void setBit(int & a,int i,int value) { if(value) a|=(1<<i); else a&=~(1<<i); }