4

BitSet を使用して整数の配列を表す必要があります。誰かがこれを行うために必要なロジックを説明できますか?

4

3 に答える 3

4

を使用して整数のセットを表すことはできますがBitSet、任意の配列を表すことはできません。順序と繰り返しに関する情報が失われます。

基本的に、整数のセットに表示される場合のみのnth ビットを設定します。BitSetn

BitSet bitSet = new BitSet();
int[] setOfInts = new int[] { /* Your array here */ };
for (int n : setOfInts) {
   bitSet.set(n);
}
于 2010-05-26T06:34:08.807 に答える
0

最初の考え:
BigInteger を使用して、次のように作成します: new BigInteger(int value, int base)。次に、それを toString() し、その String を使用して BitSet を作成できます (ただし、文字列を分析せずにそれを行う方法はわかりません)。
――
よく読まなかった。このメソッドは、配列全体を含む BitSet 全体ではなく、BitSet の配列を作成するのに役立ちます。
整数の配列を 1 つの bitSet にする方法がわかりません。ある種の区切り文字が必要になると思いますが、バイナリで適切な区切り文字を作成する方法は良い質問です。

于 2010-05-26T06:32:33.147 に答える
0

ロジックは次のようになると思います:整数配列を実行し、すべてのビットをテストし、bitset.set(array_pos+bit_pos) のようにビットセットにこのビットを設定します。

于 2010-05-26T06:33:07.513 に答える