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