服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++ bitset的简单使用示例

C++ bitset的简单使用示例

2021-10-07 16:32RioTian C/C++

这篇文章主要介绍了C++ bitset的简单使用示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

bitset 一般代替 bool 数组使用,常用于优化空间,因为 bitset 中一个元素只占 1 bit。

bitset 的大小在定义使就需要确定。如果想要不定长的 bitset,就需要使用 vector。

bitset 的定义:

?
1
2
bitset<16> bt; // 定义大小为16的bitset,每一位都是0
bitset<16> bt(string("11001")); // 定义大小为16的bitset,并用string初始化,注意高位为0,也就是 0000000000011001

bitset 可以直接使用 cin 和 cout 输入输出

?
1
2
3
bitset<16> bt;
cin >> bt;
cout << bt << endl;

bitset 可以像数组一样访问或修改某一位置的元素,注意0表示低位。

?
1
2
bitset<8> bt;
bt[0] = 1; // 00000001

bitset 也可以像一个数一样进行位运算:与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)。

常用函数:

?
1
2
3
4
5
6
7
8
9
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的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/RioTian/p/13958165.html

延伸 · 阅读

精彩推荐