C++ Bitsets给程序员提供一种位集合的数据结构。Bitsets使用许多二元操作符,比如逻辑和,或等。
Constructors | 创建新bitsets |
Operators | 比较和赋值bitsets |
any() | 如果有任何一个位被设置就返回true |
count() | 返回被设置的位的个数 |
flip() | 反转bits中的位 |
none() | 如果没有位被设置则返回true |
reset() | 清空所有位 |
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;
}