C++中的bitset容器
1.头文件:
#include <bitset>4 P; U3 _# h# B6 Z
2.声明一个容器:
(a)声明一个指定位数的空容器(所有位设为0): bitset<int> bits;
(b)声明一个指定位数并将指定的几个位初始化为相应值的容器: bitset<n> bits(int);9 d6 c* ?1 U8 }6 Z4 `
bitdet<int> bits(string&)
总结:bitset模板类中类型参数传递容器的位数,而构造函数参数通过一个int或一个string&值来从右至左初始化容器中的相应值。$ `/ ? ^+ Y3 J
3.bitset的基本用法:
操作 功能 用法
test(pos) pos位是否为1 a.test(4)
any() 任意位是否为1 a.any()
none() 是否没有位为1 a.none()5 _ ^5 I j/ S$ b* W
count() 值是1的位的小数 a.count()9 k! A3 U& [4 D* ^: e6 w/ |4 |
size() 位元素的个数 a.size()) J: \* B8 ^ b' j3 S: [/ e
[pos] 访问pos位 a[4]
flip() 翻转所有位 a.flip()1 C/ m# b8 E: ]# G2 {% k7 a+ @; a
flip(pos) 翻转pos位 a.flip(4)
set() 将所有位置1 a.set()
set(pos) 将pos位置1 a.set(4)
reset() 将所有位置0 a.reset()0 q! ^* X1 x, _# K: Z! J6 K
reset(pos) 将pos位置0 a.reset(4) g# B9 m6 i; O, v