bitset
存储二进制数位。它的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一。
基本操作包括:
初始化赋值
直接通过数字赋值
1
2bitset<8> a = 0x5;
bitset<8> b= 12;用string对象初始化
bitset
对象1
2
3
4string str = strval("1100");
bitset<8> a(str);
bitset<8> b(str, 2, 1); // 从str[2]开始,长度为1,初始化b
bitset<8> b(str, 2); // 从str[2]开始,到字符串结束类型相同的bitset可以直接赋值
对
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值 b.to_string() 把b中的位集转换为string的结果 访问
bitset
对象中的位可以通过下标来实现对
bitset
某位的访问
bitset可以通过数字,字符串进行赋初值
但bitset不能直接赋值给int
bitset的1位可以赋值给int