C++STL---bitset位集合容器
阿新 • • 發佈:2019-01-14
一、解釋
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;
}