bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit。
bitset 的大小在定义使就需要确定。如果想要不定长的 bitset,就需要使用 vector
bitset 的定义:
1 | bitset<16> bt; // 定义大小为16的bitset,每一位都是0 |
bitset 可以直接使用 cin 和 cout 输入输出
1 | bitset<16> bt; |
bitset 可以像数组一样访问或修改某一位置的元素,注意0表示低位。
1 | bitset<8> bt; |
bitset 也可以像一个数一样进行位运算:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。
常用函数:
1 | bitset<8> bt; |