bitset小总结

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 的结果

posted @ 2019-07-13 18:41  OI_zzyy  阅读(346)  评论(0编辑  收藏  举报