C++ bitset用法

概念:

  bitset是用来存储位的(其中的元素只有两种形式)

  这个类通常用来模拟一个布尔数组,但对空间分配上进行了优化:通常,每个元素只占用一个bit ,而通常char类型是它的八倍

  每个位置上的位都可以被单独访问:例如,对于一个给定的名为foo的bitset,foo[3]表示访问foo的第四位,就像常规的数组访问它的元素一样。但是因为在大多的

  c++环境中,没有元素类型是单个位的,所以单独的元素作为特殊的引用类型来访问

  bitset具有构建并转换为int和二进制字符串的功能,它也可以由int和bool数组转化得来

  bitset的大小在编译的时候就需要确定下来,如果不定长,可用vector<int>

  *用bitset需要 #include<bitset>

常用函数:(bitset从0开始算下标,同数组)

size() 返回bitset的大小(位数)

  count() 返回bitset中1的个数

  all()返回bitset是否全为1 (C++11)

  any() 返回bitset中是否有1

  none() 返回bitset中是否没有1

  set() 将bitset的位全置为1

  set(pos) 将bitset的第pos位置为1

  set(pos, x) 将bitset的第pos位置为x

  reset() 将bitset的位全部置为0

reset(pos) 将第pos位置为0

flip() 将bitset的位全部取反

flip(pos) 将bitset的第pos位取反

to_string() 返回值为将将当前bitset转换为string的结果

to_ulong() 返回值为将当前bitset转换为unsigned long 的结果

    (如果爆了unsigned long数据范围,会RE…)

上一篇:.net环境下从PDF文档中抽取Text文本的一些方法汇总


下一篇:快速入门GreenDao框架并实现增删改查案例