STL常用函数复习之————bitset

来源:互联网 发布:网络谣言的刑法规制 编辑:程序博客网 时间:2024/05/22 04:41
//bitset 每个元素只占一个Bit位,取值为1或者0#include<bits/stdc++.h>using namespace std;bitset<1000000> b;int main(){/*创建1. bitset<100000> b;100000个Bit,所有元素为02. 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中二进制位都置为1b.set(pos) b在pos处的二进制位置为1b.reset()b中二进制位都置为0b.reset(pos) b在pos处的二进制位置为0b.flip()b中二进制位逐个取反b.flip(pos)  b在pos处的二进制位取反b.to_ulong() 用b中同样的二进制位返回一个unsigned long值*/return 0; }