25得票8回答
Java BitSet的转换

我正在使用 java.util.BitSet 存储位向量。 我想要实现一个操作,将位向量右移1位,类似于整数的 >>> 操作。 是否有可以对 BitSet 进行位移的库函数? 如果没有,有没有比下面更好的方法?public static void logicalRigh...

22得票4回答
C++ 枚举标志 vs 位集

使用位集(bitsets)相比使用枚举标志(enum flags)有哪些优缺点?namespace Flag { enum State { Read = 1 << 0, Write = 1 << 1, Bin...

19得票5回答
Bit field vs Bitset

我想在一个类似数组的数据结构中存储位(bit)。因此,我可以采用以下两种方法之一: 方法一(AN 1)struct BIT { int data : 1 }; int main() { BIT a[100]; return 0; } 第二种方法 (AN2)int main(...

19得票4回答
在C++中定义一个大的位集

在我的程序中,我需要检查是否已经在一个大小为 2.5*10^9 的集合中生成了某个值。我预计会生成大约一半的这个集合,并且需要一种快速的方式来检查和更新它。对我来说,位集似乎是一个不错的选择,因为它不需要太多的内存(每个值只需要 1 位)并且速度较快。但是问题在于,当我在类中定义我的集合时,由...

19得票3回答
Java:在java.util.BitSet中计算设定位的位数

除了通常的“保持计数器”方法以外,是否有快速计算 BitSet 中设置位数的方法?

18得票5回答
C++中bitset的大小是多少?

我想知道bitset实际上是如何分配内存的。我从一些博客中读到它以位(bit)的形式占用内存。但是当我运行以下代码时: bitset<3> bits = 001; cout<<sizeof(bits); 我得到的输出是4。这背后的解释是什么? 另外,在C++中...

18得票1回答
可变大小的位集

我正在练习一个关于数组的问题,需要找出其中的唯一元素。我的想法是找到数组中的最大元素,并为其定义一个位集(bitset)。但问题在于,位集需要使用一个常量值,那么如何克服这个问题呢?以下是我对此的一些疑问: a) 我能否以任何方式使用变量大小来定义位集? b) 如果不能,那么使用 vecto...

17得票9回答
比较位集的最快方法是什么(在位集上使用 < 运算符)?

什么是实现std::bitset的&lt;运算符的最优方法,该运算符对应于无符号整数表示的比较(它应该适用于超过64位的位集)? 一个简单的实现方式如下:template&lt;std::size_t N&gt; bool operator&lt;(const std::bitset&lt;...

16得票4回答
BitSet的size()方法的作用是什么?

size() 方法在 java.util.BitSet 类中的使用场景是什么? 我的意思是,JavaDoc 明确指出它是实现相关的,它返回以位为单位的内部 long[] 存储的大小。根据它所说的内容,人们可能会得出这样的结论:您将无法设置比 size() 更高索引的位,但这是不正确的,Bit...

16得票6回答
std::bitset的二进制序列化

std::bitset有一个to_string()方法,可以将其序列化为基于1和0的char字符串。显然,这对于bitset中每一位都使用单个8位char,使得序列化表示比必要长度长8倍。 我想将bitset存储为二进制表示以节省空间。to_ulong()方法仅在我的bitset少于32位时...