C++ 教程

C++ 教程 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学运算 C++ 布尔值 C++ 条件语句 C++ Switch 语句 C++ While 循环 C++ For 循环 C++ Break/Continue 语句 C++ 数组 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载

C++ 面向对象

C++ OOP C++ 类和对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态

C++ 高级教程

C++ 文件 C++ 异常处理 C++ 动态内存 C++ 命名空间 C++ 模板 C++ 预处理器 C++ 信号处理 C++ 多线程 C++ Web 编程 C++ 正则表达式

C++ 如何使用

C++ 两个数字相加

C++ 标准库参考

C++ 标准库 - 简介 C++ 标准库 - <fstream> C++ 标准库 - <iomanip> C++ 标准库 - <ios> C++ 标准库 - <iosfwd> C++ 标准库 - <iostream> C++ 标准库 - <istream> C++ 标准库 - <ostream> C++ 标准库 - <sstream> C++ 标准库 - <streambuf> C++ 标准库 - <atomic> C++ 标准库 - <complex> C++ 标准库 - <exception> C++ 标准库 - <functional> C++ 标准库 - <limits> C++ 标准库 - <locale> C++ 标准库 - <memory> C++ 标准库 - <new> C++ 标准库 - <numeric> C++ 标准库 - <regex> C++ 标准库 - <stdexcept> C++ 标准库 - <string> C++ 标准库 - <thread> C++ 标准库 - <tuple> C++ 标准库 - <typeinfo> C++ 标准库 - <utility> C++ 标准库 - <valarray>

C++ 模板库参考

C++ STL 库 - <array> C++ STL 库 - <bitset> C++ STL 库 - <deque> C++ STL 库 - <forward_list> C++ STL 库 - <list> C++ STL 库 - <map> C++ STL 库 - <queue> C++ STL 库 - <set> C++ STL 库 - <stack> C++ STL 库 - <unordered_map> C++ STL 库 - <unordered_set> C++ STL 库 - <vector> C++ STL 库 - <algorithm> C++ STL 库 - <iterator>

C++ 实例

C++ 实例 C++ 练习 C++ 测验



C++ 标准模板库 - <bitset>

简介

Bitset 表示 N 位的固定大小序列,并存储值 0 或 1。零表示值为假或位未设置,一个表示值为真或位已设置。 Bitset 类模拟节省空间的布尔值数组,其中每个元素仅占用一位。

当它模拟数组时,它的索引也从 0th 位置开始。 可以使用下标运算符访问 bitset 中的单个位。例如,要访问 bitset foo 的第一个元素,请使用 foo[0]

Bitset 类提供构造函数来从整数和字符串创建位集。 bitset 的 size 在编译时是固定的。STL 提供了提供动态调整大小功能的 vector<bool> 类。


定义

下面是来自 <bitset> 头文件的 std::bitset 的定义

template <size_t N> class bitset;

参数

N − bitset 的大小。


成员类型

以下成员类型可以用作成员函数的参数或返回类型。

序号 成员类型 定义
1 reference 代理类,表示对位的引用。

<bitset> 中的函数

下面是来自 <bitset> 标头的所有方法的列表。

构造函数

序号 方法 & 说明
1 bitset::bitset()

构造 Bitset 容器并将其初始化为零。

2 bitset::bitset()

构造 bitset 容器并使用 val 的位值对其进行初始化。

3 bitset::bitset()

从 C++ 字符串对象构造和初始化 Bitset 容器。

4 bitset::bitset()

从 c 风格的字符串构造和初始化一个 bitset 容器。

成员类

序号 方法 & 说明
1 bitset::reference()

这是一个嵌入式类,它提供可以从 std::bitset::operator[] 返回的左值。

Bitset 运算符

序号 方法 & 说明
1 bitset::operator&=

对当前 bitset 对象执行按位与运算。

2 bitset::operator|=

对当前 bitset 对象执行按位或运算。

3 bitset::operator^=

对当前位集对象执行按位异或运算。

4 bitset::operator<<=

对当前位集对象执行按位左 SHIFT 操作。

5 bitset::operator>>=

对当前位集对象执行按位右 SHIFT 操作。

6 bitset::operator~

对 bitset 执行按位非运算。

7 bitset::operator<<

对 bitset 执行按位左 SHIFT 操作。

8 bitset::operator>>

对 bitset 执行按位右 SHIFT 操作。

9 bitset::operator==

测试两个 bitset 是否相等。

10 bitset::operator!=

测试两个 bitset 是否相等。

11 bitset::operator&

对 bitset 执行按位与运算。

12 bitset::operator|

对 bitset 执行按位或运算。

13 bitset::operator^

对 bitset 执行按位异或运算。

14 bitset::operator>>

is 中提取最多 N 位并存储到另一个 Bitset x

15 bitset::operator>>

将位集 x 插入字符流 os

成员函数

序号 方法 & 说明
1 bitset::all()

测试是否设置了 bitset 中的所有位。

2 bitset::any()

测试是否设置了 bitset 中的至少一位。

3 bitset::count()

计算 bitset 中设置的位数。

4 bitset::flip() all bits

切换 bitset 中的所有位。

5 bitset::flip() single bit

从 bitset 切换单个位。

6 bitset::none()

测试所有位是否未设置。

7 bitset::operator[] bool version

返回位置 pos 的位值。

8 bitset::operator[] reference version

返回位置 pos 的位引用。

9 bitset::reset() all bits

将 bitset 的所有位重置为零。

10 bitset::reset() single bit

将 bitset 的单个位重置为零。

11 bitset::set() all bits

将 bitset 中的所有位设置为 1。

12 bitset::set() single bit

将 bitset 中的单个位设置为 onezero

13 bitset::size()

报告 bitset 的大小。

14 bitset::test()

测试是否设置了 Nth 位。

15 bitset::to_string()

将 bitset 对象转换成字符串对象。

16 bitset::to_ullong()

将 bitset 转换为无符号长整数。

17 bitset::to_ulong()

将 bitset 转换为无符号长整数。

非成员函数

序号 方法 & 说明
1 bitset::hash()

根据提供的 bitset 返回哈希值。