一、解释
bitset容器是一个bit位元素的序列容器,每个元素只占一个bit位,取值为0或1。
方法 | 功能 |
b.any() | b中是否存在置为1的二进制位 |
b.none() | b中不存在置为1的二进制? |
b.count() | b中置为1的二进制个数 |
b.size() | b中二进制位的个数 |
b[pos] | 访问b中在pos位置上的二进制位 |
b.test[pos] | b中二进制位是否为1 |
b.set() | b中全部置为1 |
b.set(pos) | 把b中pos位置上二进制置为1 |
b.rest() | b中全部置为0 |
b.rest(pos) | 把b中pos位置上二进制置为0 |
b.flip() | 按位取反(0->1,1->0) |
os<<b | 把b中的位集输出到os流中 |
b.to_ulong() | 把b中的二进制返回一个unsigned long值 |
二、用法
(1)创建对象
bitset<100000>b;
//创建了一个能够容纳100000个的元素,此时每一个元素都为0
(2)设置元素值
通过索引来设置
b[1]=1;
b[2]=1;
b[3]=1;
通过set()、reset()函数来设置
b.set();//通过set函数,一次性将元素设置为1
b.set(0,0);//设置索引为0的位为0
b.reset(1);//使用reset设置索引为1的位为0
(3)输出数据
#include<iostream>
#include<bitset>
#include<string>
using namespace std;
int main()
{ bitset<10>b;
b.set();
for(int i=b.size()-1;i>=0;i--)
{
cout<<b[i]<<endl;
}
return 0;
}