目前的面试题中,有不少的大数求解题或是其他题型越来越多的用到了位运算,下面具体介绍bitset的一些用法,便于查阅:
bitset是一个bit位元素的序列容器,每个元素只占一个bit位,取值为0或1,因此十分节省空间(注意:使用时记得加上“#include <bitset>”)。
/*
bitset 用法一览表(bitset<n> b):
1. b.any() b中是否存在置为1的二进制位?
2. b.none() b中是否不存在置为1的二进制位?
3. b.count() b中置为1的二进制位的个数
4. b.size() b中二进制位的个数
5. b[pos] 访问pos位置的二进制位
6. b.set() 所有位都置为1
7. b.reset() 所有位都置为0
8. b.flip() 所有位都逐位取反
9. os<< b 输出b
*/
小例子:
int main()
{
bitset<10> b;
//全部置为1
b.set();
b.set(0,0);
b.set(2,0);
b.set(3,0);
b.set(8,0);
cout << b <<endl;
system("PAUSE");
return 0;
}