现在的位置: 首页 > 综合 > 正文

关于c++的一些案例

2017年12月11日 ⁄ 综合 ⁄ 共 531字 ⁄ 字号 评论关闭

之前做项目的时候,有时候会用到位,也就是将一些数据放在二进制里,然后存在数据库中或者缓存在服务器上,取出来,然后要判断某位是不是置0或1,然后再将某位置0或1(比如领多个奖励的 游戏逻辑),之前有点傻,竟然用 << ,>>这些运算符计算,今天翻起以前好久不看的c++primer 才想起bitset,我已经把她忘了,哎。

比如bitset的一个对象 b,他的很多操作和功能很多,这里罗列项目中常用的一些方法:

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流

抱歉!评论已关闭.