//bitset 每个元素只占一个Bit位,取值为1或者0
#include<bits/stdc++.h>
using namespace std;
bitset<1000000> b;
int main()
{
/*创建 1. bitset<100000> b; 100000个Bit,所有元素为0
2. bitset<3> b(7); 用整数将其初始化为 111 另一个例子 bitset<5> b(5); b为 00101;
3. string strval("011"); bitset<3> bs(strval); 用字符串初始化,
注意:使用string初始化时从右向左处理,如下初始化的各个位的值将是110,而非011*/
/*设置元素值 1.数组下标 b[2]=1;
2.set() b.set(); 一次性将所有元素设为1
3.set(pos,val) b.set(6,1); 将指定位置的值设为1
4.reset() b.reset(); 所有二进制为置为0
5.reset(pos,val) b.reset(6); 将指定位置的值设为0*/
/*输出元素 1.下标法 cout<<b[i];
2.向输出流输出全部元素 cout<<b<<endl;*/
/*函数 b.any(); b中是否存在置为1的二进制位;
b.none(); b中不存在置为1的二进制位吗?
b.count(); b中置为1的二进制位的个数
b.size(); b中二进制位的个数
b[pos] 访问b中在pos(可为0)处的二进制位是否为1?
b.test(pos); b在pos处的二进制位为1?
b.set() b中二进制位都置为1
b.set(pos) b在pos处的二进制位置为1
b.reset() b中二进制位都置为0
b.reset(pos) b在pos处的二进制位置为0
b.flip() b中二进制位逐个取反
b.flip(pos) b在pos处的二进制位取反
b.to_ulong() 用b中同样的二进制位返回一个unsigned long值*/
return 0;
}