STL::bitset

bitset: A bitset stores bits。大小通过参数传递,在编译时确定。可变的可参考 vector<bool>。

constructor

default:

integer value: 传入 unsigned long long val。

string:

C_string:

 1 // constructing bitsets
 2 #include <iostream>       // std::cout
 3 #include <string>         // std::string
 4 #include <bitset>         // std::bitset
 5 
 6 int main ()
 7 {
 8   std::bitset<16> foo;
 9   std::bitset<16> bar (0xfa2);
10   std::bitset<16> baz (std::string("0101111001"));
11 
12   std::cout << "foo: " << foo << '\n';  //  0000000000000000
13   std::cout << "bar: " << bar << '\n';  //  0000111110100010
14   std::cout << "baz: " << baz << '\n';  //  0000000101111001
15 
16   return 0;
17 }
View Code

Bit access

operator [ ]:

count: 返回 bieset 中 1 的个数。

size: 返回总的元素(0 or 1)的个数。

test: Returns whether the bit at position pos 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:

 

posted on 2019-01-30 15:47  爱笑的张飞  阅读(160)  评论(0编辑  收藏  举报

导航