bitsetは、C++標準ライブラリのビット集合クラス・・・。
これを使うと、より簡単にビット列の表現や操作ができる・・・。
bitsetをインクルードする必要がある・・・。
テンプレート引数には要素数を指定する・・・。8ビットのビット列なら8という感じで・・・。
bitsに0xfを代入、こんなこともできる・・・。0xfは00001111なので、
bits.to_stringで文字列表現を取得して、そのまま出力すると、00001111になるとおもう・・・。
setは指定の位置のビットを立てる・・・。(つまり、1をセットする。)
下から0から数えて5番目を立てる・・・。
resetは逆にビットを降ろす・・・。(つまり、0をセットする。)
下から0から数えて1番目を降ろす・・・。
testは指定の位置のビットが立っていれば、trueを返す・・・。
下から0から数えて3番目をチェック・・・。
$ vi bitset.cpp $ g++ bitset.cpp -o bitset $ ./bitset 00001111 00101111 00101101 bits.test(3) is true. $
00001111から、5番目が立って、1番目が降ろされて、3番目が1になっているのがわかる・・・。
Sample/cpp/bitset/bitset/src/bitset at master · bg1bgst333/Sample · GitHub