C++ STL 库 - <bitset>

创建于 2024-12-03 / 28
字体: [默认] [大] [更大]

简介

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 返回哈希值。



0 人点赞过