当前位置:网站首页 > 技术博客 > 正文

java bitset用法



介绍一种类型的对象,该对象存储由固定数量的位构成的序列,这些位提供一种紧凑方式来保留一组项或条件的标志。 类支持对 bitset 类型的对象执行操作,此类对象包含位集合并提供对每一个位的定时访问。

 


使用在编译时必须为已知的 类型的非零整数指定 对象中的位数。

与类似的 类不同, 类没有迭代器,并且不是 C++ 标准库容器。 它与 的不同之处还在于它有某个特定大小,该大小在编译时根据声明 时由模板参数 指定的大小确定并固定。

如果某个位的值为 1,则该位已设置;如果其值为 0,则该位已重置。 翻转或反转某个位就是将其值从 1 更改到 0 或从 0 到 1。 中的 个位由从 0 到 - 1 的整数值索引,其中 0 索引第一个位的位置, - 1 索引最后一个位的位置。

名称 描述 构造 类的对象并将位初始化为零、某个指定值或从字符串中的字符获取的值。
名称 描述 一个类型,它是 数据类型的同义词且可用于引用 中的元素位。
名称 描述 测试此 中的所有位以确定它们是否都设置为 。 成员函数测试序列中是否有任何位设置为 1。 成员函数返回位序列中设置的位数。 反转 中的所有位的值或反转位于指定位置的单个位。 测试 对象中是否不存在任何已设置为 1 的位。 将 中的所有位重置为 0 或将位于指定位置的位重置为 0。 将 中的所有位设置为 1 或将位于指定位置的位设置为 1。 返回 对象中的位数。 测试 中指定位置处的位是否设置为 1。 将 对象转换为字符串表示形式。 将 中的位值的总和作为 返回。 将 对象转换为 ,如果将后者用于初始化 ,则会产生包含的位的序列。
“属性” 描述 一个代理类,它提供对 (用于将单个位作为 类的 的帮助程序类进行访问和操作)中包含的位的引用。
名称 描述 测试目标 是否与指定的 不相等。 使用按位“与”() 运算执行位组的按位组合。 将 中的位移动到左侧指定数目的位置并将结果返回到新的 。 将 中的位移动到左侧指定数目的位置并将结果返回到目标 。 测试目标 是否与指定的 相等。 将 中的位移动到右侧指定数目的位置并将结果返回到新 。 将 中的位移动到右侧指定数目的位置并将结果返回到目标 。 如果 可修改,则返回对 中指定位置处的位的引用;否则返回该位置处的位值。 operator^= 使用按位“异或”() 运算执行位组的按位组合。 使用按位“或”() 运算执行位组的按位组合。 反转目标 中的所有位并返回结果。
名称 描述

测试此位组中的所有位以确定它们是否都设置为 true。

 

返回值

如果此集中的所有位都为 true,则返回 。 如果一个或多个位为 false,则返回

测试序列中是否有任何位设置为 1。

 

返回值

如果此 中有任何位设置为 1,则为 ;如果所有位均为 0,则为

示例

 
 

构造 类的对象并将位初始化为零、某个指定值或从字符串中的字符获取的值。

 

参数


使用其二进制表示法初始化正在构造的 中的位的无符号整数。


由 0 和 1 组成的用于初始化 位值的字符串。


字符串中的字符位置,从左到右计数,且从 0 开始,用于初始化 中的第一位。


字符串中的字符数,用于提供 中位的初始值。


用于表示 0 的字符。 默认值为“0”。


用于表示 1 的字符。 默认值为“1”。

备注

构造 类的对象并将所有 N 位初始化为默认值 0。

构造 类的对象并通过 参数初始化所有位。

构造 类的对象并通过 0 和 1 组成的字符串中提供的字符初始化各个位。 如果字符串的任何字符为非 0 或非 1,则该构造函数引发 类的对象。 如果指定的位置 () 超出了字符串的长度,则该构造函数引发 类的对象。 该构造函数只设置字符串中位置 处的对应字符为 1 的 中 j 位置处的位。 默认情况下, 是 0。

与 类似,但包含另一个参数 ,它指定要初始化的位数。 它拥有两个可选参数,即 ,用于指示 中的哪些字符应分别转译为表示 0 位或 1 位。

构造 类的对象,并将 N 位初始化为与由 0 和 1 组成的 C 类型字符字符串中提供的字符相对应的值。 不通过将字符串转换为字符串类型来调用构造函数,例如:

示例

 
 

返回位序列中设置的位数。

 

返回值

位序列中设置的位数。

示例

 
 

一个类型,它是 数据类型的同义词且可用于引用 中的元素位。

 

示例

 
 

反转 中的所有位的值或反转位于指定位置的单个位。

 

参数


要将其值反转的位的位置。

返回值

对其调用了成员函数且经过修改的 副本。

备注

如果指定为参数的位置大于其位已经过反转的 的大小 ,则第二个成员函数引发 异常。

示例

 
 
 

测试 对象中是否不存在任何已设置为 1 的位。

 

返回值

如果 中不存在任何已设置为 1 的位则为 ;如果至少有一位已设置为 1 则为

示例

 
 

测试目标位组是否与指定的位组不相等。

 

参数


要与目标位组比较是否不相等的 。

返回值

如果两个位组不同则为 ;如果相同则为

注解

位组的大小必须相同。

示例

 
 

使用按位“与”() 运算执行位组的按位组合。

 

参数


要与目标位组按位组合的 。

返回值

将 指定为参数,由按位“与”() 运算生成的经过修改的目标位组。

注解

如果每个位均为 true,则 运算符组合的两个位返回 ;否则,其组合返回

两个位组的大小必须相同。

示例

 
 

将 中的位移动到左侧指定数目的位置并将结果返回到新的 。

 

参数


中的位要向左侧移动的位置数目。

返回值

将位向左侧移动所需数目的位置后的修改位组。

备注

成员运算符函数返回 ,,其中 将 中的位向左侧移动指定数目的位置并将结果返回到目标 。

示例

 

将 中的位移动到左侧指定数目的位置并将结果返回到目标 。

 

参数


中的位要向左侧移动的位置数目。

返回值

经过修改的目标 ,以便已将位向左侧移动所需数目的位置。

备注

如果不存在要移动到此位置的元素,则函数将位清除为 0 值。

示例

 
 

测试目标位组是否与指定的位组相等。

 

参数


要与目标位组比较是否相等的 。

返回值

如果两个位组相同则为 ;如果不同则为

备注

位组的大小必须相同。

示例

 
 

将 中的位移动到右侧指定数目的位置并将结果返回到新位组。

 

参数


中的位要向右侧移动的位置数目。

返回值

新的位组,其中已相对于目标 将位向右侧移动所需数目的位置。

示例

 
 

将 中的位移动到右侧指定数目的位置并将结果返回到目标 。

 

参数


中的位要向右侧移动的位置数目。

返回值

经过修改的目标 ,以便已将位向右侧移动所需数目的位置。

备注

如果不存在要移动到此位置的元素,则函数将位清除为 0 值。

示例

 
 

如果 可修改,则返回对 中指定位置处的位的引用;否则返回该位置处的位值。

 

参数


位在 内所处的位置。

备注

在构建过程中将 定义为 1 或 2 时,如果尝试访问 边界以外的元素,则可执行文件中将发生运行时错误。 有关更多信息,请参阅经过检查的迭代器。

示例

 

使用按位“异或”() 运算执行位组的按位组合。

 

参数


要与目标位组按位组合的 。

返回值

将 指定为参数,由按位“异或”() 运算生成的经过修改的目标位组。

注解

如果至少一位,但不是所有位为 ,则由按位“异或”运算符 () 组合的两个位返回 ;否则,其组合返回

位组的大小必须相同。

示例

 
 

使用按位“或”() 运算组合两个位组。

 

参数


要与目标 按位组合的 。

返回值

将 指定为参数,由按位“或”() 运算生成的经过修改的目标位组。

备注

如果至少一位为 ,则由非独占 运算符组合的两个位返回 ;如果两个位均为 ,则其组合返回

位组的大小必须相同。

示例

 
 

反转目标位组中的所有位并返回结果。

 

返回值

已针对目标 反转其所有位的 。

示例

 
 

一个代理类,它提供对 (用于将单个位作为 类的 的帮助程序类进行访问和操作)中包含的位的引用。

 

参数


要分配到 中的位的 类型的对象的值。


对位于位置 的位的窗体的引用。

返回值

由类引用的第一个、第二个和第五个成员函数的参数位置指定的对 中的位的引用,并且由 来反映类引用的第三个和第四个成员函数的 中经过修改的位的值。

备注

该类仅作为帮助程序类存在。 成员类描述可以访问 中的单个位的对象。 让 作为 类型的对象, 作为 类型的对象, 作为此类对象中的有效位置。 表示法 引用位组 中的 位置上的位。 类的成员函数按顺序提供以下操作:

Operation 定义 [ ] = 存储在位组 中的位位置 上。 [ ] = [ ] 将位 [ ] 的值存储在位组 中的位位置 上。 = ~ [ ] 存储位 [ ] 的翻转值。 = [ ] 存储位 [ ] 的值。 [ ]。 ( ) 将位 [ ] 的翻转值存储在 中的位位置 后面。

示例

 
 

将 中的所有位重置为 0 或将位于指定位置的位重置为 0。

 

参数


要重置为 0 的 中的位的位置。

返回值

对其调用成员函数的 副本。

备注

如果指定的位置大于 的大小,则第二个成员函数引发 异常。

示例

 
 

将 中的所有位设置为 1 或将位于指定位置的位设置为 1。

 

参数


要设置为分配值的 中的位的位置。


要向指定位置的位分配的值。

返回值

对其调用成员函数的 副本。

备注

如果指定的位置大于 的大小,则第二个成员函数引发 异常。

示例

 
 

返回 对象中的位数。

 

返回值

中的位数

示例

 
 

测试 中指定位置处的位是否设置为 1。

 

参数


要测试其值的 中位的位置。

返回值

如果将参数位置指定的位设置为 1,则为 ;否则为

注解

成员函数引发

将 对象转换为字符串表示形式。

 

返回值

类 的字符串对象,其中 中设置的每个位都具有对应字符 1,如果位未设置,则对应字符为 0。

示例

 
 

返回一个 值,它包含与 对象内容相同的位组。

 

返回值

返回在位序列中作为 的位值的总和。 如果此 值用于初始化 ,它将重建同一组位。

异常

如果位序列中的任一位具有无法表示为 类型的值的位值,则引发 对象。

备注

返回在位序列中作为 的位值的总和。

将 对象转换为整数,如果将后者用于初始化 ,则会产生包含的位的序列。

 

返回值

一个整数,如果在 的初始化中使用,则会生成 中的位。

备注

应用成员函数返回的整数所具有的 1 和 0 位序列与 中包含的位序列相同。

如果位序列中的任一位具有无法表示为 类型的值的位值,则成员函数会引发 对象。

示例

 

                            

版权声明


相关文章:

  • 大小端的区别以及各自的优点,哪种时候用2024-10-28 22:01:03
  • 大端和小端字节顺序的区别2024-10-28 22:01:03
  • js文件用什么软件打开2024-10-28 22:01:03
  • java string 数组2024-10-28 22:01:03
  • iconv_open函数2024-10-28 22:01:03
  • 武汉网络dns地址2024-10-28 22:01:03
  • 函数已有主体是什么意思2024-10-28 22:01:03
  • 服务器监控方案2024-10-28 22:01:03
  • android adb驱动下载2024-10-28 22:01:03
  • 用select语句2024-10-28 22:01:03