您的位置:首页 > 其它

标准库bitset类型

2016-10-12 11:04 232 查看
有些程序要处理二进制位的有序集,每个位可能包含0或1.标准库提供的bitset类简化了位集的处理。要使用bitset类必须包含相关的头文件<bitset>


bitset对象的定义和初始化

类似于vector,bitset类是一个模板,而不同的是bitset类型对象的区别在于长度而不是类型,定义bitset时,要在尖括号内给出它的长度值。


bitset<n> b; //b有n位,每位都是0
bitset<n> b(u); //b是unsigned long型u的一个副本,全转化为二进制
bitset<n> b<s>; //b是string类型s的一个副本 "1101"
bitset<n> b<s,pos,n> //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<<b
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: