切換了一下

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)