bitset头文件
时间: 2023-07-24 17:04:10 浏览: 97
头文件
bitset是C++ STL中的一个模板类,定义在头文件<bitset>中。它用于存储和操作二进制位集合,可以用来压缩大量的布尔型数据。使用bitset可以有效地节省内存空间。bitset的大小是在编译时确定的,因此它比动态分配数组更快,但是不能改变大小。
bitset可以进行按位运算、位移操作、取反、计数等操作。常见的方法有:
- 构造函数:bitset<N> b;创建一个大小为N的bitset对象b。
- operator[]:b[i]返回第i位的值,可以用来访问和修改位。
- set、reset、flip:设置、重置、翻转某一位。
- any、none、all:判断是否存在1、是否不存在1、是否全部为1。
- count:计算bitset中1的个数。
- operator&、operator|、operator^、operator~、operator<<、operator>>:按位与、按位或、按位异或、按位取反、左移、右移操作。
示例代码如下:
```c++
#include <bitset>
#include <iostream>
using namespace std;
int main() {
bitset<8> b("10101010");
cout << b << endl; // 输出:10101010
b.set(2); // 将第2位设置为1
b.reset(3); // 将第3位重置为0
b.flip(4); // 将第4位翻转
cout << b << endl; // 输出:11011010
cout << b.any() << endl; // 输出:1
cout << b.none() << endl; // 输出:0
cout << b.all() << endl; // 输出:0
cout << b.count() << endl; // 输出:4
cout << (b & bitset<8>("11110000")) << endl; // 按位与运算
return 0;
}
```
阅读全文