c++中bitset的所有用法
时间: 2023-07-08 20:21:55 浏览: 106
bitset 是 C++ 标准库中的一个类,用于处理二进制位。下面是 bitset 的主要用法:
1. 创建 bitset 对象
可以通过以下方式创建 bitset 对象:
```cpp
#include <bitset>
// 创建一个大小为 10 的 bitset 对象,所有二进制位初始化为 0
std::bitset<10> bits1;
// 从整数值创建 bitset 对象
std::bitset<10> bits2(0b1010);
// 从字符串创建 bitset 对象
std::bitset<10> bits3("1010");
```
2. 访问二进制位
可以使用 `[]` 运算符或 `test()` 方法访问 bitset 对象中的二进制位,使用 `set()` 或 `reset()` 方法可以设置或复位二进制位。
```cpp
std::bitset<10> bits("1010");
// 访问第 0 位二进制位
bool b1 = bits[0];
bool b2 = bits.test(0);
// 设置第 1 位二进制位
bits.set(1);
// 复位第 2 位二进制位
bits.reset(2);
```
3. bitset 的位运算
bitset 支持多种位运算操作,如按位与、按位或、按位异或、按位取反等。
```cpp
std::bitset<10> bits1("1010");
std::bitset<10> bits2("0110");
// 按位与
std::bitset<10> result1 = bits1 & bits2;
// 按位或
std::bitset<10> result2 = bits1 | bits2;
// 按位异或
std::bitset<10> result3 = bits1 ^ bits2;
// 按位取反
std::bitset<10> result4 = ~bits1;
```
4. bitset 的转换
bitset 可以转换为其他数据类型,如整数、字符串等。
```cpp
std::bitset<10> bits("1010");
// 转换为整数
int num = bits.to_ulong();
// 转换为字符串
std::string str = bits.to_string();
```
以上就是 bitset 的主要用法。
阅读全文