1. ホーム
  2. java

[解決済み] バイトの特定ビットを設定する

2023-07-08 06:47:50

質問

Javaバイト変数にビットを設定しようとしています。これは、以下のようなプロパーなメソッドを提供します。 .setBit(i) . 誰もが私がこれを実現する方法を知っていますか?

与えられたバイトをビット単位で反復処理することができますね。

if( (my_byte & (1 << i)) == 0 ){

}

しかし、この位置を1や0に設定することはできませんよね?

どのように解決するのですか?

ビット単位の OR ( | ) と ( & ) 演算子です。ビットを設定するには、すなわち、ビットを pos から 1 :

my_byte = my_byte | (1 << pos);   // longer version, or
my_byte |= 1 << pos;              // shorthand

ビットの設定を解除したり、ビットを 0 :

my_byte = my_byte & ~(1 << pos);  // longer version, or
my_byte &= ~(1 << pos);           // shorthand

例としては 高度なJava/ビット演算子