bitset: A bitset stores bits。大小通过参数传递,在编译时确定。可变的可参考 vector<bool>。
constructor
default:
integer value: 传入 unsigned long long val。
string:
C_string:
// constructing bitsets
#include <iostream> // std::cout
#include <string> // std::string
#include <bitset> // std::bitset int main ()
{
std::bitset<> foo;
std::bitset<> bar (0xfa2);
std::bitset<> baz (std::string("")); std::cout << "foo: " << foo << '\n'; //
std::cout << "bar: " << bar << '\n'; //
std::cout << "baz: " << baz << '\n'; // return ;
}
Bit access
operator [ ]:
count: 返回 bieset 中 1 的个数。
size: 返回总的元素(0 or 1)的个数。
test: Returns whether the bit at position is set (i.e., whether it is one).
any: Returns whether any of the bits is set (i.e., whether at least one bit in thebitsetis set to one).
none(c++11): Returns whether none of the bits is set (i.e., whether all bits in thebitsethave a value of zero).
all(c++11): Returns whether all of the bits in thebitsetare set (to one).
Bit operations
set: all bits(1) 设置所有的 bit 为 1; single bit(2) 设置单个 bit 为 1。
reset: all bits(1) 设置所有 bit 为 0;single bit(2) 设置单个 bit 为 0。
flip:翻译为翻转, all bits(1) 翻转所有 bit ; single bit(2) 翻转单个 bit。
Bitset operations
to_string:
to_ulong:
to_ullong: