68得票5回答
std::bitset的性能如何?

我最近在程序员上发布了一个问题,询问使用原始类型手动位操作与std::bitset相比的优点。 从那次讨论中,我得出结论,主要原因是其相对较差的性能,尽管我不知道这种观点是否有任何实际依据。所以下一个问题是: 如果使用std::bitset而不是原始类型手动位操作,是否可能会遇到性能损失,...

63得票7回答
Java BitSet 示例

我正在寻找一个好的Java BitSet示例,以便处理0和1。我尝试查看Javadocs,但仅仅通过阅读那些内容,我不理解这个类的用法。例如,如何在两个不同的BitSet对象上使用and、or和xor方法? 例如: BitSet bits1 = new BitSet(); BitSe...

61得票7回答
位集合与整数/长整数的互相转换

如果我有一个整数需要进行位操作,如何将它加载到 java.util.BitSet 中?如何将其转换回 int 或 long 类型?我不太关心 BitSet 的大小 - 它始终为32或64位长。我只想使用 set()、clear()、nextSetBit() 和 nextClearBit() 方...

53得票9回答
在MongoDB中使用自增来存储唯一用户ID序列

我正在制作一个分析系统,API调用将提供唯一用户ID,但它不是连续的且太稀疏。 我需要给每个唯一的用户ID分配自动增量ID,以在位数组/位集中标记分析数据点。因此,第一个遇到的用户对应于位数组中的第一个位,第二个用户对应于位数组中的第二个位,依此类推。 那么,在MongoDB中生成递增的唯...

39得票2回答
为什么std::bitset没有迭代器?

看起来 std::bitset 没有STL迭代器。 因此,我无法执行以下操作: std::bitset<8> bs; for (auto it: bs) { std::cout << "this can not be done out of the box\n...

39得票7回答
初始化时定义位集大小?

我想在C++中创建一个bitset。我进行了一些研究。我发现的所有示例都像这样:bitset<6> myBitset; // do something with it 但我在定义类变量时不知道bitset的大小:#include <bitset> class Test ...

38得票5回答
Python中与Java的BitSet相当的模块

是否有一个 Python 类或模块实现了类似于 BitSet 的结构?

33得票2回答
在C++中将位集转换为整数

在C++中,我像这样将一个bitset初始化为-3:std::bitset<32> mybit(-3); 有没有一种优雅的方式将mybit转换为-3。因为bitset对象只有像to_ulong和to_string这样的方法。

29得票6回答
在C++中使用std::vector<bool>对象是否可接受,或者我应该使用其他替代方案?

我正在处理用户定义数量的位(我正在持有一个三维位数组,因此大小呈立方形增长 - 假设不少于512位),并且需要单独翻转它们。现在,仅在计算机上,我使用bool类型,因为内存不是问题。我计划将代码移动到微控制器中,因此处理能力和内存要求可能成为问题。但现在,我只想要速度。 然后我发现了C++ ...

27得票7回答
在std::bitset中高效迭代true位的方法是什么?

有没有一种方法可以迭代(可能很大的)std::bitset,并且该迭代是 线性的,即与设置为true的位数成线性关系?我想避免必须检查位集中的每个位置。迭代应连续返回设置为true的每个位的索引。