标准库bitset类型

有些程序要处理二进制位的有序集,每个位可能包含0或1.标准库提供的bitset类简化了位集的处理。要使用bitset类必须包含相关的头文件

bitset对象的定义和初始化

类似于vector,bitset类是一个模板,而不同的是bitset类型对象的区别在于长度而不是类型,定义bitset时,要在尖括号内给出它的长度值。
bitset b; //b有n位,每位都是0
bitset b(u); //b是unsigned long型u的一个副本,全转化为二进制
bitset b; //b是string类型s的一个副本 "1101"
bitset b //b是s中从位置pos开始的n个位的副本

bitset对象上的操作

b.any()  //是否有1
b.none()  //是否没有1
b.count()  //1的个数 返回类型为size_t
b.size()
b[pos]
b.test(pos) //检验是否为1
b.set()      //全部置1
b.set(pos)
b.reset()   //全部置0
b.reset(pos)
b.flip()    //全部取反
b.flip(pos)
b.to_ulong()  //转换为unsigned long类型
os<

你可能感兴趣的:(C++)