bitset初始化:
#include<bits/stdc++.h>
using namespace std;
int main(){
unsigned long long x=0x3f3f3f3f;
string s="0000011111";
bitset<5> b1;
bitset<64> b2(x);
bitset<20> b3(s);//bitset右边为低位,string右边也是低位。
bitset<20> b4(s,4,3);//110拷贝进去
bitset<20> b5(s,5);//string低位五个字符
return 0;
}
bitset基本函数:
#include<bits/stdc++.h>
using namespace std;
int main(){
bitset<64>p(1U);
unsigned long long x;
string s;
cout<<p[0]<<endl;//访问
p.any();//有没有1 ,返回true
p.all();//所有位为1吗?返回false
p.none();//全都是1吗,返回false
p.count();//1的个数
p.size();//位数
p.test(1);//第1位是0还是1
p.set(1);//将‘1’位上的变成1
p.set(1,0);//将‘1’位上的变成0
p.reset();//将所有位置为0
p.reset(1);//将‘1’位上的变成0
p.flip(0);//翻转
p.flip();
p.flip();
x=p.to_ulong();cout<<x<<endl;//返回一个unsignedlong值,注意溢出
s=p.to_string();cout<<s<<endl;//返回一个string
cout<<p;
return 0;
}