切换了一下

C 风格的位操作

可以使用 XOR 运算符(^)切换一个位。

// Bit x will be the opposite value of what it is currently
number ^= 1LL << x;

使用 std::bitset

std::bitset<4> num(std::string("0100"));
num.flip(2); // num is now 0000
num.flip(0); // num is now 0001
num.flip();  // num is now 1110 (flips all bits)