C++ 中二进制位运算总结

C++ 中二进制位运算总结

int GetBit(char c,int i)
{ //取c的第i位
     return ( c >> i ) & 1;
}
//设置c的第i位为v
void SetBit(char & c,int i, int v) 
{ 
    if( v ) 
        c |= ( 1 << i);
    else
        c &= ~( 1 << i); 
}
 //将c的第i位为取反
void Flip(char & c, int i) 
{
    c ^= ( 1 << i);
}

调用方法:

char lights[5];
switchs=n;
GetBit(switchs,j);
SetBit(lights[i],j,s);

你可能感兴趣的:(C++)