C++ bitset的使用

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位取反

原文链接: https://www.cnblogs.com/wulitaotao/p/11920425.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ bitset的使用

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/306337

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 上午4:03
下一篇 2023年2月16日 上午4:08

相关推荐