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