bitset 主要存储二进制数位。
bitset 就像一个 bool 类型的数组一样,但是有空间优化—— bitset 中的一个元素只相当于一个 char 元素所占空间的八分之一。
bitset 中的每个元素都能单独被访问,例如对于一个叫做 x 的bitset,表达式 x[3] 访问了它的第 4 个元素,就像数组一样。
bitset 有一个特性:整数类型和布尔数组都能转化成 bitset 。
运用一下:
x.size() 返回大小(位数)
x.count() 返回1的个数
x.any() 返回是否有1
x.none() 返回是否没有1
x.set() 全都变成1
x.set(p) 将第 p+1 位变成1
x.set(p,x) 将第 p+1 位变成x
x.reset() 全都变成0
x.reset(p) 将第 p+1 位变成0
x.flip() 全都取反
x.flip(p) 将第 p+1 位取反
x.to_ulong() 返回它转换为 unsigned long 的结果,如果超出范围则报错
x.to_ullong() 返回它转换为 unsigned long long 的结果,如果超出范围则报错
x.to_string() 返回它转换为 string 的结果