C++ 检查一下

示例

C风格的位操作

可以通过将数字右移x然后&对它执行按位与()来获得该位的值:

(number >> x) & 1LL;  // 如果设置了“数字”的第x个位,则为1;否则为0

右移操作可以实现为算术(有符号)移位或逻辑(无符号)移位。如果number表达式中number >> x具有带符号的类型和负值,则结果值是实现定义的。

如果我们需要直接就位的值,我们可以左移掩码:

(number & (1LL << x));  // (1 << x) if the 'x'th bit of 'number' is set, 0 otherwise

由于所有非零值都被认为是真实的,因此任何一个都可以用作条件。

使用std :: bitset

std::bitset<4> num(std::string("0010"));
bool bit_val = num.test(1);  // bit_val值设置为true;