C ++库 - <bitset>

简介

Bitset表示固定大小的 N 位序列,并存储值0或1.零表示值为false或位未设置且one表示值为true或位已设置. Bitset类模拟空间有效的布尔值数组,其中每个元素只占一位.

当它模拟数组时,它的索引也从 0 th  职位.可以使用下标运算符访问来自bitset的单个位.例如,访问bitset的第一个元素 foo 使用 foo [0] .

Bitset类提供构造函数来从整数创建bitset以及从字符串. bitset的 size 在编译时是固定的. STL提供 vector< bool> 类,它提供动态调整大小功能.

定义

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

template <size_t N> class bitset;

参数

N :  bitset的大小.

成员类型

以下成员类型可以用作参数或按成员函数返回类型.

Sr.No.成员类型定义
1referenceProxy表示对某一位的引用的类.

来自< bitset>

的函数

以下是来自< bitset>的所有方法的列表标题.

构造函数

Sr.No.方法&说明
1bitset :: bitset()

构造bitset容器并用零初始化它.

2bitset :: bitset()

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

3bitset :: bitset()

从C ++字符串对象构造并初始化一个bitset容器.

4bitset: :bitset()

构造并初始化一个bitset包含来自c风格的字符串.

会员类

Sr.No.方法&说明
1bitset :: reference()

这是嵌入式类,它提供了可以从 std :: bitset返回的l值:: operator [] .

Bitset运算符

Sr.No.方法&说明
1bitset::operator&=

对当前bitset对象执行按位AND运算.

2bitset :: operator | =

对当前bitset对象执行按位OR运算.

3bitset :: operator ^ =

对当前bitset对象执行按位XOR运算.

4bitset :: operator<< =

对当前执行按位左SHIFT操作bitset object.

5bitset :: operator>> =

对当前bitset对象执行按位右移SHIFT操作.

6bitset :: operator *

在bitset上执行按位NOT操作.

7bitset :: operator<<

在bitset上执行按位左移位操作.

8bitset :: operator>>

在bitset上执行按位右移SHIFT操作.

9bitset :: operator ==

测试两个位集是否相等.

10bitset :: operator! =

测试两个位集是否相等.

11bitset :: operator&

对bitset执行按位AND运算.

12bitset :: operator |

对bitset执行按位OR运算.

13bitset :: operator ^

对bitset执行按位XOR运算.

14bitset ::operator >>

中提取 N 位是并存储到另一个位集 x .

15bitset :: operator>>

将bitset x 插入字符流 os .

会员职能

Sr.No.方法&说明
1bitset :: all()

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

2bitset :: any()

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

3bitset :: count()

从bitset计算设置位数.

4bitset :: flip() 所有位

切换bitset中的所有位.

5bitset :: flip() 单个位

从bitset切换单个位.

6bitset :: none()

测试是否所有位都未设置.

7bitset :: operator []   bool version

返回位置 pos 的位值.

8bitset :: operator []  参考版本

返回位置 pos 的位引用.

9bitset ::reset() 所有位

将bitset的所有位重置为零.

10bitset :: reset()  单个位

将bitset的单个位重置为零.

11bitset :: set() 所有位

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

12bitset :: set() 单个位

将bitset中的单个位设置为 1 0 .

13bitset :: size()

报告位集的大小.

14bitset :: test()

测试是否设置了N th 位.

15bitset :: to_string()

将bitset对象转换为字符串对象.

16bitset :: to_ullong()

转换bitset无符号长多.

17bitset :: to_ulong()

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

非会员职能

Sr.No.方法&说明
1bitset :: hash()

根据提供的位集返回哈希值.