#include <iostream>
#include <bitset>
using namespace std;
int main()
{
cout << boolalpha; // bool の対し,1をtrue,それ以外をfalseで出力
bitset<5> b(3); // bitset<5> b("00011");
cout << "初期状態: " << b << " サイズ: " << b.size() << " 1の数: " << b.count() << endl;
// 設定
b[4] = 1;
b.set(3, 1);
cout << "設定(b[4], set(3,1)): " << b << endl;
// 参照
cout << "参照\n";
cout << " b[0] " << b[0] << " test[0] " << b.test(0) << endl;
cout << " none " << b.none() << " any " << b.any() << endl;
// 右シフト
b >>= 2;
cout << "2 ビット右シフト: " << b << endl;
// OR 演算
b |= bitset<5> (3);
cout << "00011 との OR 演算: " << b << endl;
return 0;
}