#include<iostream>
using namespace std;
int main()
{
//初始化16位bitvec1均爲1
bitset<16> bitvec1(0xffff);cout<<bitvec1<<endl;
//初始化32位bitvec2,1-16位爲1,其它爲0
bitset<32> bitvec2(0xffff);
cout<<bitvec2<<endl;
//初始化32位bitvec3,賦string類型的值
string strval("1111111111");
bitset<32> bitvec3(strval);
cout<<bitvec3<<endl;
//初始化32位bitvec4,取從strval[5]開始後兩位的值,其它均爲0
bitset<32> bitvec4(strval,5,2);
cout<<bitvec4<<endl;
//初始化32位bitvec5,取strval後四位的值,其它均爲0
bitset<32> bitvec5(strval,strval.size()-4);
cout<<bitvec5<<endl;
//全部置0
bitvec1.reset();cout<<"reset:"<<bitvec1<<endl;
//全部置1
bitvec1.set();cout<<"set:"<<bitvec1<<endl;
//0位置0
bitvec1.set();
bitvec1.flip(0);
cout<<"flip(0):"<<bitvec1<<endl;
//2位置0
bitvec1.set();
bitvec1.flip(2);
cout<<"flip(2):"<<bitvec1<<endl;
//0位置0
bitvec1.set();
bitvec1[0].flip();
cout<<"bitvec[0]:"<<bitvec1<<endl;
//10位置0
bitvec1.set();
bitvec1[10].flip();
cout<<"bitvec1[10]:"<<bitvec1<<endl;
//全部置0
bitvec1.set();
bitvec1.flip();
cout<<"flip():"<<bitvec1<<endl;
return 0;
}