c++ bitset例子

版权声明:本人菜鸟一只,如文章有错误或您有高见,请不吝赐教 https://blog.csdn.net/qq_41138935/article/details/84109603
#include<iostream>
#include<bitset>
using namespace std;

int main(){
	//创建一个8位长的bitset
	bitset<8> bs;
	//显示这个bitset
	cout<<"显示这个bitset"<<endl;
	for(int i=(int)bs.size();i>0;){
		i--;
		cout<<bs[i]<<" ";
	}
	cout<<endl;
	//创建另一个bitset
	bitset<8> bs2((long)131);
	cout<<"显示另一个bitset"<<endl;
	for(int i=(int)bs2.size();i>0;){
		i--;
		cout<<bs2[i]<<" ";
	} 
	cout<<endl;
	cout<<endl;
	//创建一个bitset
	bitset<8> bs3((long)135);
	cout<<"bs3 is "<<bs3<<endl;
	cout<<"向左移动4位"<<endl;
	bs3<<=4;
	cout<<"now bs3 is "<<bs3<<endl;
	cout<<"bitset中被设置成1的位的个数"<<endl; 
	cout<<bs3.count()<<endl;
	
	cout<<"反转bitset中所有的位,即将1设为0,0设为1.如果指定pos,那么只有pos上的位被反置"<<endl;
	bs3.flip(1);
	cout<<"now bs3 is "<<bs3<<endl;
	cout<<"重置bitset(全部设为0),如果指定pos,那么只有pos上的位被重置"<<endl;
	bs3.reset(1);
	cout<<"now bs3 is "<<bs3<<endl;
	cout<<endl;
	cout<<endl;
	cout<<"函数设置bitset上所有的位,然后返回bitset。如果指定pos,那么只有pos上的位数被设置"<<endl;
	bs3.set(1,1);
	cout<<"now bs3 is "<<bs3<<endl;
	cout<<"返回bitset能容纳的位"<<endl;
	
	cout << bs3.size() << endl;
	
	cout<<"函数返回在pos上的位"<<endl;
	cout<<bs3.test(1)<<endl;
	cout<<"函数返回bitset的字符串格式"<<endl;
	cout<<bs3.to_string()<<endl;
	cout<<"返回bitset的无符号长整数形式"<<endl;
	cout<<bs3.to_ulong()<<endl;
	
	cout<<"-----------------------------------------------"<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_41138935/article/details/84109603
今日推荐