版权声明:本人菜鸟一只,如文章有错误或您有高见,请不吝赐教 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;
}