bitset
头文件
#include <bitset>
定义
bitset<N> a, b;
a[x] = y; //赋值
位运算
a ^ b
a ^= b;
a | b
a |= b;
a & b
a &=b;
a << pos
a <<= pos;
a >> pos
a >>= pos;
a.set() //全部置为1
a.reset() //全部置为0
a.flip() //取反
a.flip(i) //位置i取反
a.count() //1的个数
a.none() //返回有没有1 有false 没有true
a.any() //返回有没有1 有true 没有false
a.to_string() //将bitset转换成string类型
a.to_ulong() //将bitset转换成unsigned long类型
a.to_ullong() //将bitset转换成unsigned long long类型 (c++11)
a._Find_first() //返回第一个1的位置
a._Find_next(i) //返回i之后是1的第一个位置