Bitset类:
大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。默认值为false
构造函数:
bitset<n> b; b有n位,毎位都为0
bitset<n> b(u); b是unsigned long型u的一个副本
bitset<n> b(s); b是string对象含有的位串副本
bitset<n> b(s,pos,n); b是s从pos位置开始的n个位副本
实例:
int u=12;
bitset<8> b(u);
cout<<b;//00000110
string s="1100";
bitset<8> c(s);
cout<<c;//00001100
bitset<8> c(string("1100"));
cout<<c;//00001100
cout<<c[2];//1
成员函数:bitset<8> b;
b.any() | 返回b中是否有1 |
b.none() | 返回b中是否无1 |
b.size() | 返回b的位数 |
b.count() | 返回b中1的位数 |
b.set() | 将b全部变成1 |
b.set(p) | 将第p+1位变成1 |
b.set(p,x) | 将第p+1位变成x |
b.reset() | 将b全部变成0 |
b.reset(p) | 将第p+1位变成0 |
b.flip() | 全部取反 |
b.flip(p) | 将第p+1位取反 |
b.to_ulong() | 返回b转化为usigned long结果 |
b.to_ullong() | 返回b转化为usigned long long结果 |
b.to_string() | 返回b转化为string的结果 |