bitset相关内容

位集不适用于Integer.MAX_VALUE和Integer.MIN_VALUE

我尝试使用BitSet(Java)来查找两个数组中的公共数字。(它在查找重复字符方面似乎工作得很好),然而,当我尝试角点用例时,例如Integer.MAX_VALUE(它不能显示在RES中)和Integer.MIN_VALUE(它显示IndexOutOf边界异常(“bitIndex<;0:”+bitIndex)),我认为BitSet大小是可自动扩展的。有谁能弄明白吗?谢谢。BitSet非常方便 ..
发布时间:2022-06-11 21:35:33 Java开发

CUDA:将单个位集与位集数组进行异或

我希望将单个位集与一组其他位集(~100k)进行XOR运算,并计算每个XOR结果的集合位数。单个位集的大小约为20k位。 位集已转换为unsigned int数组,以便能够使用内在__popc()函数。‘Bunch’已连续驻留在设备内存中。 我当前的内核代码如下: // Grid/Blocks used for kernel invocation dim3 block(32); ..
发布时间:2022-06-10 16:08:04 C/C++开发

迭代std :: bitset中真实位的有效方法?

有没有一种方法可以迭代(可能很大)std::bitset,它在 设置为 true 的位数中 线性/em>?我想避免检查位集中的每个位置.迭代应该连续返回每个设置为 true 的位的索引. 解决方案 标准位向量不支持对真实位的有效迭代 - 运行时间总是 O(n),其中 n 是总位数,它没有对 k 的依赖.但是,也有专门的数据结构,例如 van Emde Boas 树 和 y-fast 尝试, ..
发布时间:2022-01-24 11:43:44 C/C++开发

是否使用 std::vector;C++ 中的对象可以接受,还是我应该使用替代方法?

我正在使用用户定义的位数(我持有一个 3 维位数组,因此大小按立方增加 - 假设不少于 512 位),并且需要分别翻转它们.现在,只是在计算机上,我使用 bool 类型,因为内存不是问题.我确实计划将来将代码移至微控制器,因此处理能力和内存要求可能是一个问题.不过现在,我只想要速度. 然后我从 C++ STLstd::bitset 对象a>,但我无法在运行时定义位集的大小.然后我发现 std ..
发布时间:2022-01-19 16:57:18 C/C++开发

std::bitset 的二进制序列化

std::bitset 有一个 to_string() 方法,用于序列化为基于 char 的 1s 和 0s.显然,这对 bitset 中的 每个 位使用了一个 8 位 char,使得序列化表示比需要的时间长 8 倍. 我想以二进制表示形式存储位集以节省空间.to_ulong() 方法仅在我的位集中少于 32 位时才相关.我有数百个. 我不确定我想在对象(地址)本身上使用 memcpy()/s ..
发布时间:2022-01-09 19:42:56 C/C++开发

如何存储向量<bool>或一个位集到文件中,但按位?

如何将位集数据写入文件? 第一个答案没有正确回答问题,因为它占用的空间比应有的多 8 倍. 你会怎么做?我真的需要它来保存很多真/假值. 解决方案 最简单的方法:取连续的 8 个布尔值,将它们表示为单个字节,将该字节写入您的文件.那会节省很多空间. 在文件的开头,您可以写入要写入文件的boolean值的数量;该数字将有助于从文件中读取字节并将它们转换回布尔值! ..
发布时间:2021-12-21 13:56:11 C/C++开发

是否使用 std::vectorC++ 中的对象可以接受,还是应该使用替代方法?

我正在处理用户定义数量的位(我持有一个三维位数组,因此大小呈三次增加 - 假设不少于 512 位),并且需要单独翻转它们.现在,就在计算机上,我使用 bool 类型,因为内存不是问题.我确实计划将来将代码移至微控制器,因此处理能力和内存要求可能是一个问题.不过现在,我只想要速度. 然后我从 C++ STL 中找到了 std::bitset 对象a>,但我无法在运行时定义位集的大小.然后我发现 ..
发布时间:2021-12-21 13:26:54 C/C++开发

MongoDB 中的自动增量以存储唯一用户 ID 的序列

我正在制作一个分析系统,API 调用会提供一个唯一的用户 ID,但它没有顺序且太稀疏. 我需要为每个唯一用户 ID 提供一个自动增量 ID,以标记位数组/位集中的分析数据点.所以第一个用户遇到的将对应于位数组的第一位,第二个用户将是位数组中的第二位,以此类推. 那么有没有一种可靠且快速的方法可以在 MongoDB 中生成增量唯一用户 ID? 解决方案 可以,但不应该https: ..
发布时间:2021-11-30 20:38:01 其他开发

有效地找到第 k 个设置位在 bitset 中的位置

我有一个稀疏的位集,它可能有数百万甚至数十亿位宽.假设 bitset 已经被有效地压缩,并假设我也已经可以有效地查询 bitset 以查看在某个给定范围(即位置和长度)中设置了多少位. 鉴于此,我能否有效地找到第 k 个设置位在 bitset 中的位置,或者有效地给出它不存在的指示?对与编程语言无关的算法的描述将是理想的.假设我不能改变 bitset 实现的任何内部结构......也就是说, ..
发布时间:2021-10-26 18:49:09 其他开发

如何从非重叠位集形成最大数量的 1

给定由 M 位组成的 N 个位集,选择 K 个位集,以便在同一位置不会出现多个 1.最多可以形成多少个 1? 示例: N = 5, M = 6001100011010100100111001001010 答案将结合 011010 和 100100,其中答案是 5. 我期待多项式时间解决方案,尽管我不确定是否可行.问题取自 here 可能有更好的措辞. 解决方案 这是加权最大 ..

使用 VS2010 的 C++ 中的位集

我不知道我在这里做错了什么,希望这里有人能启发我. 我有一个 Flags 类,这是一个极其简化的版本,但我声明了一个位集 类标志{私人的://8位列表std::bitset_P;民众:标志();} 在我的构造函数中,我将其初始化为 Flags::Flags():_P(32ul){} 但它不会编译并给我错误 错误 C2668:'std::bitset::bit ..
发布时间:2021-09-18 20:39:20 C/C++开发

位集参考

来自 http://www.cplusplus.com/reference/stl/bitset/: 因为在大多数 C++ 环境中不存在这样的小元素类型,所以单个元素作为模拟 bool 元素的特殊引用被访问. 这个位参考究竟是如何工作的? 我能想到的唯一方法是使用 char 的静态数组,但是每个实例都需要将其索引存储在数组中.由于每个引用实例至少具有 size_t 的大小,这会破 ..
发布时间:2021-08-30 19:19:52 C/C++开发

为什么Java中BitSet的内部数据存储为long[]而不是Java中的int[]?

在java中,BitSet 存储为 long[] 而不是 int[],我想知道为什么?这是jdk中的代码: /*** 对应serialField“bits"的内部字段.*/私人长[]字; 如果一切都与性能有关,我想知道为什么 long[] 存储会获得更好的性能. 解决方案 查询或操作单个位时,没有显着差异.您必须计算单词索引并读取该单词,并且在更新的情况下,操作该单词的一位并将其写回. ..
发布时间:2021-06-15 19:38:02 Java开发

STL bitset::count() 方法的性能如何?

我四处搜索,找不到 bitset::count() 的性能时间规范.有人知道它是什么(O(n) 或更好)以及在哪里可以找到它? 编辑 STL 我只指标准模板库. 解决方案 我在我的电脑上阅读了这个文件 (C:\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\c++\bitset). 看到这些 ///返回设置的位数.尺寸_tcount() c ..
发布时间:2021-06-15 19:25:56 C/C++开发

在Java中实现C样式位域

我有一个问题,就是我有点被困住了,一位同事告诉我,这将是寻求帮助的好地方. 我正在尝试在Java中实现C风格的位域.这是一个粗略的示例(此刻我还没有实际的代码). typedef联合{类型定义结构{unsigned short a:1;无符号短b:1;无符号短c:2;无符号的短d:10;}位域;无符号短位图;} example_bitfield; 我有很多来自遗留代码的相似样式位域. ..
发布时间:2021-05-18 19:36:36 Java开发

使用BitSet Java进行DNA压缩

我的任务是压缩DNA序列.首先使用a = 00 c = 01 g = 10 t = 11进行编码.我必须从文件中读取序列并进行隐式编码.我知道我必须在Java中使用bitSet类,但是我在实现方面遇到问题.如何确保使用我的编码并且字母不转换为实际的二进制. 这是提示:为该数据文件的两种压缩编码开发节省空间的Java代码.(N被忽略).将小写字母转换为大写字母.请执行以下操作并回答问题:节省时 ..
发布时间:2021-04-23 20:18:23 Java开发