#include<bits/stdc++.h>
using namespace std;
const int maxn = 10;
bitset<maxn>B;
int main(){
cout<<B<<endl; // 所有位依次输出
int pos =1;
cout<<B.size()<<endl; // 返回容器大小
B.set(pos); cout<<B<<endl; // 将pos位置为1
B.set(); cout<<B<<endl; // 将所有位置都置为1 .
cout<<B.count()<<endl ; // 容器中有几个1
cout<<B[1]<<B[0]<<endl; // 可以用下标直接访问 [0,n-1].
cout<<B.any()<<endl; // 所有位置中 是否有1的存在
B.reset(); cout<<B<<endl; // 所有位置都变为0
B.reset(pos) ; cout<<B<<endl; // 将pos位置为0
B.flip(); cout<<B<<endl; //翻转容器中的所有位
B.flip(pos); cout<<B<<endl; //翻转pos位
int x=9;
bitset<3> bs(x); cout<<bs<<endl; // 可以直接将整数传入,自动变为2进制数,但是如果容器不够存会自动截断整数的前部
string ss="1010111000000";
bitset<10>c(ss); cout<<c<<endl; //可以直接传入string 类型,但是如果容器不够,会自动截断string的后部分
bitset<5>a(string("1010"));
bitset<5>b(string("0011"));
cout<<(a<<1)<<endl; // 支持 移位 ,左移右移
cout<<(a|b)<<endl; // 支持 | ^ & 注意这里如果两容器的大小不一样是会报错
return 0;
}
【Biset的常用函数】
最新推荐文章于 2022-05-29 05:19:34 发布