14得票5回答
为什么Java中BitSet的内部数据存储为long[]而不是int[]?

在Java中,BitSet的内部数据存储为long[]而不是int[],我想知道原因?以下是JDK中的代码: /** * The internal field corresponding to the serialField "bits". */ private long[] words...

14得票2回答
为什么std::bitset<8>变量无法处理11111111?

为什么这个程序会显示以下的输出?#include &lt;bitset&gt; ... { std::bitset&lt;8&gt; b1(01100100); std::cout&lt;&lt;b1&lt;&lt;std::endl; std::bitset&lt;8&gt...

13得票7回答
如何在C语言中实现位集?

我一直在使用Java中的Bitset类,现在我想在C语言中做类似的事情。我想大多数情况下都需要手动实现。那么,在C语言中实现一个高效的方式是什么呢? byte bitset[] 也许 bool bitset[] ?

12得票6回答
获取位集合中所有位的索引

我正在寻找一个快速的算法,可以给我一个BitSet对象中所有设置的位的索引。这太慢了:BitSet bitSet = ... Collection&lt;Integer&gt; indexes = new ArrayList&lt;Integer&gt;(bitSet.cardinality(...

12得票3回答
Java BitSet 和 byte[] 的用法

我有一个应用程序,需要大量使用 BitSet 类,并逐位写入文件。我知道不能直接将位写入文件,因此首先将 BitSet 对象转换为字节数组并作为字节数组写入。但问题在于,由于 BitSet 类从右到左索引,当我将 BitSet 对象转换为字节数组并写入文件时,它会写反。 例如,这是我的 Bi...

11得票2回答
从整数数组构造位集

从uint64_t构建一个bitset&lt;64&gt;很容易:uint64_t flags = ...; std::bitset&lt;64&gt; bs{flags}; 但是有没有一种好的方式可以从uint64_t[N]构建一个bitset&lt;64 * N&gt;,使得flags[0...

11得票2回答
为什么C/C++中没有单比特数据类型?

对于bool来说,它只有true和false两个值,却有8位,为什么不把它设计成1位呢? 我知道有bitset,但是它并不是那么方便,我只是想知道为什么?

11得票2回答
在C++中,是否有可能将bitset<8>转换为char?

我有一个值为"11001101"的bitset&lt;8> v8,如何将其转换为char?我需要一个单独的字母。例如字母"f"=01100110。 附言:感谢帮助。我需要这样做来说明位中的随机错误。例如,没有错误的是"f",有错误的可能是"♥",以及在文件中的所有文本都是这样的。在文本中,您...

10得票4回答
为什么BitSet不可迭代?

BitSet 类有一个 stream() 方法,但它不像其它实现了此方法的类型一样实现了 Iterable 接口。这样做是否有特定的原因?

10得票3回答
如何将位集转换为字节数组/uint8数组?

我需要从位集中提取字节,其中可能(不)包含多个CHAR_BIT位。我知道需要将位集中多少位放入数组中。例如, 位设置为std :: bitset &lt;40&gt; id; 有一个单独的变量nBits,表示id中可用的位数。现在我想以CHAR_BIT的倍数提取这些位。我还需要注意nBit...