読者です 読者をやめる 読者になる 読者になる

bitset

bitsetは、C++標準ライブラリのビット集合クラス・・・。

bitset - C++ Reference

これを使うと、より簡単にビット列の表現や操作ができる・・・。

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