bitset操作:
b.any() b中是否存在为1
b.count() 统计位为1的个数
b.test(pos) 测试b中pos位处是否为1
b.set() 把b中所有位都置为1
b.reset() 所有位都置为0
b.flip() 把b中所有二进制位取反
b.flip(pos) pos处取反
b.to_ulong() 将此二进制转换为一个unsigned long类型值
#include <bits/stdc++.h>
using namespace std;
int main() {
bitset<3> bs;
bs[0] = 1, bs[1] = 1, bs[2] = 1;
if (bs.any() == 1) cout << "存在1的位" << endl;
else cout << "不存在为1的位" << endl;
cout << "1的个数为"<< bs.count() << endl;
bs.set();
cout << "1的个数为"<< bs.count() << endl;
unsigned long value = bs.to_ulong();
cout << value << endl;
bs.reset();
cout << "1的个数为"<< bs.count() << endl;
return 0;
}