C++ setbit
时间: 2023-07-03 10:15:45 浏览: 114
在 C++ 中,可以使用位运算符来设置或获取一个整数的二进制位。具体来说,可以使用 `|` 运算符来将某一位设置为 1,使用 `&` 运算符来获取某一位的值(0 或 1),使用 `~` 运算符来取反一个整数的所有二进制位。
以下是一个使用位运算符设置和获取二进制位的示例代码:
```c++
#include <iostream>
int main() {
int x = 0b10101010; // 二进制数 10101010,对应十进制数 170
std::cout << x << std::endl; // 输出 170
// 将 x 的第 3 位设置为 1
x |= (1 << 2); // 1 左移 2 位,得到二进制数 00000100,然后与 x 按位或运算
std::cout << x << std::endl; // 输出 174
// 获取 x 的第 4 位
int bit4 = (x >> 3) & 1; // x 右移 3 位,得到二进制数 00010101,然后与 1 按位与运算
std::cout << bit4 << std::endl; // 输出 0
return 0;
}
```
在上面的代码中,`x` 的二进制表示为 `10101010`,对应十进制数 `170`。首先将 `x` 的第 3 位设置为 1,得到二进制数 `10101110`,对应十进制数 `174`。然后获取 `x` 的第 4 位,得到二进制数 `00010101`,对应十进制数 `21`,再与 1 按位与运算,得到结果 0,表示该二进制位为 0。
阅读全文