STL Bitsets ---应用

 

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; 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值