//颠倒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); }