ホームページ >Java >&#&チュートリアル >JavaでBitSet関数を使用してビット演算を実行する方法

JavaでBitSet関数を使用してビット演算を実行する方法

PHPz
PHPzオリジナル
2023-06-26 18:11:011153ブラウズ

BitSet は、ビット演算に使用される Java のクラスです。 BitSet はバイナリ ビットで構成される配列と考えることができ、各バイナリ ビットは 0 または 1 のみになります。 BitSet は、設定、クリア、反転、取得などのビット操作を実行するための一連のメソッドを提供します。

Java で BitSet を使用してビット演算を行うのは非常に簡単ですので、具体的な操作手順を紹介します。

1. BitSet オブジェクトの作成

BitSet オブジェクトは 2 つの方法で作成できます:

1. デフォルト値を使用して BitSet オブジェクトを作成します

BitSet bitSet = new BitSet();

上記このコードは、すべてのバイナリ ビットが 0 に設定された空の BitSet オブジェクトを作成します。

2. 指定した長さの BitSet オブジェクトを作成する

BitSet bitSet = new BitSet(100);

上記のコードは、長さ 100 の BitSet オブジェクトを作成し、すべてのバイナリ ビットが 0 に設定されます。

2. バイナリ ビットを設定する

set() メソッドを使用して、指定したバイナリ ビットを 1 に設定できます (例:

bitSet.set(5);

上記のコードは、 6 番目のバイナリ ビットを 1 1 にします。

set() メソッドを使用して、バイナリ ビットのセクションを 1 に設定することもできます。例:

bitSet.set(10, 20);

上記のコードは、11 番目から 20 番目のバイナリ ビットを 1 に設定します。

set() メソッドを使用して、複数のバイナリ ビットを 1 に設定できます。たとえば:

bitSet.set(1);
bitSet.set(3);
bitSet.set(6);

上記のコードは、2 番目、4 番目、7 番目のバイナリ ビットを 1 に設定します。

3. バイナリ ビットをクリアする

clear() メソッドを使用して、指定したバイナリ ビットをクリアできます (例:

bitSet.clear(5);

上記のコードは 6 番目のバイナリをクリアします)少し。 。

clear() メソッドを使用して、バイナリ ビットのセクションをクリアすることもできます。例:

bitSet.clear(10, 20);

上記のコードは、11 番目から 20 番目のバイナリ ビットをクリアします。

clear() メソッドを使用して、複数のバイナリ ビットをクリアできます。たとえば、次のとおりです。

bitSet.clear(1);
bitSet.clear(3);
bitSet.clear(6);

上記のコードは、2 番目、4 番目、および 7 番目のバイナリ ビットをクリアします。

4. 2 進数を反転する

flip() メソッドを使用して、指定した 2 進数を反転できます (例:

bitSet.flip(5);

上記のコードは、6 番目のバイナリを反転します)数字、つまり元の 0 が 1 になった、そして 1 が 0 になったことが判明しました。

flip() メソッドを使用して、2 進数のセクションを反転することもできます。たとえば、次のようになります。

bitSet.flip(10, 20);

上記のコードは、2 進数の 11 番目から 20 番目を反転します。

flip() メソッドを使用すると、複数の 2 進数を反転できます。たとえば、次のようになります。

bitSet.flip(1);
bitSet.flip(3);
bitSet.flip(6);

上記のコードは、2 番目、4 番目、および 7 番目の 2 進数を反転します。

5. 2 進数の取得

get() メソッドを使用して、指定した 2 進数の値を取得できます (例:

boolean value = bitSet.get(5);

上記のコードは以下を取得します) 6 番目の 2 進数の値。ビットが 1 の場合、値は true、それ以外の場合、値は false。

get() メソッドを使用して、2 進数のセグメントの値を取得することもできます。例:

BitSet subBitSet = bitSet.get(10, 20);

上記のコードは、2 進数の 11 桁目から 20 桁目の値を取得し、それらをオブジェクトのsubBitSetに保存します。

get() メソッドを使用して、複数の 2 進数の値を取得できます。例:

boolean value1 = bitSet.get(1);
boolean value2 = bitSet.get(3);
boolean value3 = bitSet.get(6);

上記のコードは、2 番目、4 番目、および 3 番目の値を取得します。それぞれ 7 番目の 2 進数。

6. その他の操作

上記の操作に加えて、BitSet は次のようなビット操作の他のメソッドも提供します:

  • and(BitSet set) : 別の BitSet オブジェクトとの AND 演算。
  • or(BitSet set): 別の BitSet オブジェクトとの OR 演算。
  • xor(BitSet set): 別の BitSet オブジェクトと XOR 演算を実行します。
  • size(): BitSet オブジェクトの長さを取得します。
  • length(): BitSet オブジェクトの最上位の添字を取得します。

7. まとめ

Java でビット操作を実行するには BitSet 関数を使用すると非常に便利で、ほとんどのビット操作はわずか数行のコードで完了できます。ビット演算に関するプログラムを作成する場合は、BitSet を使用してプログラムを完成させることをお勧めします。

以上がJavaでBitSet関数を使用してビット演算を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。