#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>


#include <bitset>

using namespace std;

int main(){
    bitset<1000> a, b;//可以看成01的一个很长的二进制的串 尖括号里写长度 和前面不一样 我们定义了一个长度是1000位的01串
    a[0] = 1;
    a[1] = 1;
    
    //因为他是01串所以可以做位运算
    a &= b;
    a |= b;
    
    
    
    
    cout << a[0] << endl;//可以像用数组一样用它
    
    //常用函数
    cout << a.count() << endl;//count的话是返回里面 1 的个数
    
    
    a.set(3);//可以把这三位设成1
    a.reset(3);//可以把某一位设成0
    
    //.clear是没有的
    
    return 0;
}