0

例: 120 ビット (010* 0 *001000......) の BitSet があります。ここで、0 に設定されている 4 番目のビットを 1 に変更します。

SET(4,TRUE) - このようなもの。Javaでできますか?

cov=nverting ビットセットを Char[] 配列に変換してから、正確なビットを変更し、再びビットセットに戻すことでそれを行うことができますが、不要なメモリを大量に使用し、パフォーマンスを低下させます。例は問題ありません。さらに明確にする必要がある場合は、コメントでお知らせください。

4

2 に答える 2

5

BitSet API はjavadocset(...)で説明されており、個々のビットまたはビットの範囲を設定またはクリアするためのメソッドが多数あります。

BitSet b = ...
b.set(4, true);

javadoc を読んで、インデックスに正しい値を使用しているかどうかを確認してください。(0 から数えるか、1 から数えるか。)

実際には、javadoc を読んでください。

于 2011-03-29T14:16:19.580 に答える
0

はい、実際にそれを行うことができます。BitSet クラスは、個々のビットを設定およびクリアするためのメソッドを提供します。

パラメータ入力が異なる 4 つの set メソッドがあります。

1.set(int bitIndex) - 指定されたインデックスのビットを true に設定します。

2.set(int bitIndex, boolean value) -指定されたインデックスのビットを指定された値に設定します。

3.set(int fromIndex, int toIndex) - 指定された fromIndex (包括的) から指定された toIndex (排他的) までのビットを true に設定します。

4.set(int fromIndex, int toIndex, boolean value) - 指定された fromIndex (包括的) から指定された toIndex (排他的) までのビットを、指定された値に設定します。

すぐに例を含めようとします。

于 2011-03-30T03:51:55.037 に答える