bitset

本文详细介绍了bitset的概念及使用方法,包括bitset的初始化方式、常见操作及其应用。bitset是一种类似于bool数组的数据结构,可以高效地存储和操作二进制位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. bitset用于存储二进制数位。
  2. bitset就像一个bool类型的数组,一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一。
  3. bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式foo[3]访问了它的第4个元素,就像数组一样。
  4. 特性:整数类型和布尔数组都能转化成bitset。
  5. bitset的大小在编译时就需要确定。如果你想要不确定长度的bitset,用vector。
  6. 整个bitset可以看成一个数进行位操作,例如<<,>>,|,^,&
初始化
bitset b;b有n位,每位都为0
bitset b(u);b是unsigned long型u的一个副本
bitset b(s);b是string对象s中含有的位串的副本
bitset b(s, pos, n);b是s中从位置pos开始的n个位的副本
bitset操作 :
b.any()b中是否存在置为1的二进制位?
b.none()b中不存在置为1的二进制位吗?
b.count()b中置为1的二进制位的个数
b.size()b中二进制位的个数
b[pos]访问b中在pos处的二进制位
b.test(pos)b中在pos处的二进制位是否为1?
b.set()把b中所有二进制位都置为1
b.set(pos)把b中在pos处的二进制位置为1
b.reset()把b中所有二进制位都置为0
b.reset(pos)把b中在pos处的二进制位置为0
b.flip()把b中所有二进制位逐位取反
b.flip(pos)把b中在pos处的二进制位取反
b.to_ulong()用b中同样的二进制位返回一个unsigned long值
os << b把b中的位集输出到os流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值