STL Bitsets ---应用

来源:互联网 发布:深圳西乡淘宝培训 编辑:程序博客网 时间:2024/04/28 22:12

 

C++ Bitsets给程序员提供一种位集合的数据结构。Bitsets使用许多二元操作符,比如逻辑和,或等。

Constructors创建新bitsetsOperators比较和赋值bitsetsany()如果有任何一个位被设置就返回truecount()返回被设置的位的个数flip()反转bits中的位none()如果没有位被设置则返回truereset()清空所有位set()设置位size()返回可以容纳的位的个数test()返回指定位的状态to_string()返回bitset的字符串表示to_ulong()返回bitset的整数表示

// stl9.cpp : 定义控制台应用程序的入口点。///********************************************//****/****/********************************************/#include "stdafx.h"#include "stdlib.h"#include "iostream"#include "bitset"#include <limits>#include "string"using namespace std;int main() {     // (a)声明一个指定位数的空容器(所有位设为0): bitset <int> bits;     bitset<10> bits1;    // b)声明一个指定位数并将指定的几个位初始化为相应值的容器: bitset <n> bits(int);     // bitdet <int> bits(string&)     bitset<10> bits2(1111111111);     string str = "100100101";    bitset<10> bits3(str);int k=bits3.size();int t=(int)bits3.size();//for(int i=(int)(bits3.size());i>=0;i--)for(int i=0;i<=(t-2);i++){cout<<bits3[i]<<" ";}cout<<"the size of is "<<t<<endl;cout<<"the true number is"<<bits3.count()<<endl;    cout<<bits3<<endl;cout<<bits2<<endl;cout<<bits1<<endl;string str1=bits2.to_string();//转为字符串cout<<str1<<endl;long i1=bits2.to_ulong();     //转为长整型 cout<<i1<<endl;bool i2=bits2.none();           cout<<bits2.test(1)<<endl;cout<<i2<<endl;    system("pause");    return 0; }