template <size_t N> class bitset
#include <bitset> using namespace std; bitset <N> 変数名; // N : ビットの数,全てが 0 bitset <N> 変数名(unsigned long val); // N : ビットの数 bitset <N> 変数名(string str); // N : ビットの数
!= == | |= & &= ^ ^= ~ << <<= >> >>= []
#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; }
初期状態: 00011 サイズ: 5 1の数: 2 設定(b[4], set(3,1)): 11011 参照 b[0] true test[0] true none false any true 2 ビット右シフト: 00110 00011 との OR 演算: 00111
菅沼ホーム | 本文目次 | 演習問題解答例 | 付録目次 | 索引 |