一,bitset容器
首先我们要知道bitset 这种容器的存储方法,这个数据结构本质上就像一个bool类型的字符串,但是可以直接当作一个数进行左移右移,取或取反等二进制操作,对这些数进行一个模拟操作,可以对所有的数进行一个统一的操作。
二,容器的使用
1, 容器的创建
bitset 类型开始的时候要初始化数组中的位数,并且数组中都是0 ,所以我们在创建的时候使用的参数是size参数
1, 创建一个空的bitset容器
#include <iostream>
#include <bitset>
using namespace std ;
int main ()
{
bitset <18> name ;
cout << name << endl ;
return 0 ;
}
下面的赋值都是,过长截断,过短补零
2,创建一个十进制数的bitset容器
bitset <18> name(34) ;
3,创建一个字符串和字符数组容器
string s = "0101100101010" ;
bitset <16> bi(s) ;
cout << b2 << endl;
char s[10] = {
'1' ,'0' ,'1' ,'1','1','0','0'....};
bitset <16> bi(s) ;
cout << b2 << endl ;
2, 容器的常见的运算
b2 |= b3; //两个二进制数取或操作;
//常用
b2 &= b3; //两个二进制数取与操作;
//常用
b2 ^= b3; //取异或;
b2 << 2; //左移右移;
3. 常用的函数
查询函数,查询1的个数
cout << q.count() << endl ;
查询数组长度
cout << s.size() << endl ;
重新建立字符串
q.reset() ;
4,数组特性
可以跟数组一样的使用下标调用数值 。