定义一个bitset类型的变量
bitset<8>bs;//定义一个名称为bs,且有8位,初始为0的bitset
赋值
bs[0]=1;//把第0位设置为1
bs[3]=true;//把第3位设置为1,因为true可以转换为1
初始并赋值
string初始化bitset
string strval("1100");
bitset<32> bs(strval);
bitset<8>bs(19);
转化为数字
int x=bs.to_ulong();
cout<<x<<endl;
转化为字符串
string x=bs.to_string();
cout<<x<<endl;
bitset操作
b.any
b中是否存在置为1的二进制位?
b.none()
b中不存在置为1的二进制位吗?
b.count()
b中置为1的二进制位的个数
b.size()
b中二进制位的个数
b[pos]
访问b中在pos处的二进制位
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值
os << b
把b中的位集输出到os流