1

私は、それぞれが8ビットの1バイトを保持するバイト配列を持っています。他に何も変更せずに、配列の最初の要素の 5 番目のビットを変更したいとしましょう。それを行う簡単な方法はありますか?

4

2 に答える 2

5

設定したい場合は、

bytes[0] |= (byte) (1 << 5);

...これは、1 のバイナリ表現を持つバイト配列の最初の要素を OR し、左に 5 桁シフトします...これは、5 番目のビットを設定することと同じことです。

5番目のビットをクリアしたい場合は、

bytes[0] &= (byte) ~(1 << 5);
于 2013-03-13T00:56:26.147 に答える
1

をお持ちの場合は 、 次byte[] aのようなビット操作を使用して最初の要素の 5 番目のビットを変更できます 。
a[0] |= 1<<5
a[0] &= ~(1<<5)

于 2013-03-13T01:00:04.317 に答える