bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit。
bitset 的大小在定义使就需要确定。如果想要不定长的 bitset,就需要使用 vector。
bitset 的定义:
bitset<16> bt; // 定义大小为16的bitset,每一位都是0 bitset<16> bt(string("11001")); // 定义大小为16的bitset,并用string初始化,注意高位为0,也就是 0000000000011001
bitset 可以直接使用 cin 和 cout 输入输出
bitset<16> bt; cin >> bt; cout << bt << endl;
bitset 可以像数组一样访问或修改某一位置的元素,注意0表示低位。
bitset<8> bt; bt[0] = 1; // 00000001
bitset 也可以像一个数一样进行位运算:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。
常用函数:
bitset<8> bt; bt.size(); // 返回大小 bt.count(); // 返回1的个数 bt.set(); // 全部置1 bt.set(pos); // pos位置1 bt.reset(); // 全部置0 bt.reset(pos); // pos位置0 bt.flip(); // 全部取反 bt.flip(pos); // pos位取反
以上就是C++ bitset的简单使用示例的详细内容,更多关于C++ bitset的资料请关注其它相关文章!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)