C++STL---bitset位集合容器

一、解释

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;
}

猜你喜欢

转载自blog.csdn.net/qq_38345598/article/details/86308129
今日推荐