按位置位代码

来源:互联网 发布:满江红刘可知乎 编辑:程序博客网 时间:2024/04/27 23:26
bool bit_on(int i, unsigned int pos)
{
    return i &= (1 << pos);
}

void flip(int& ri, unsigned int pos)
{
    if (bit_on(ri, pos))
    {
        ri &= ~(1 << pos);
    }
    else
    {
        ri |= (1 << pos);
    }
}

int main()
{
    int i = 3;
    flip(i, 0);
    cout << i << endl;

    return 0;
}