&=
名称
&=
説明
&=は、変数と定数とを組み合わせて使い、変数の特定のビットをLOW(0)にするためによく使われる。これは、プログラミングガイドで、クリアやリセットと呼ばれる。
0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 0 0 1 (operand1 & operand2) - returned result
書式
x &= y; // equivalent to x = x & y;
引数
x | 任意の変数。利用可能な型: char, int, long。 |
y | 任意の変数もしくは定数。利用可能な型: char, int, long。 |
使用例
0とビット単位のANDをとったビットは0にクリアされるので、myByteがbyte 型の変数であれば、
|
|
となる。
1とビット単位のANDをとったビットは変更されないので、
|
|
となる。
注意
ビット単位演算ではビットを扱うため、定数にはバイナリ形式を使うのが便利だ。数字は他の表現形式と同じ値だが理解するのが難しい。わかりやすさのために0b00000000を使うが、どんな形式でも0は0である。
さらに、変数のビット0と1をクリア(ゼロに設定)し、他のビットは変えたくないときには、0b11111100を&=で適用すればいい。
1 0 1 0 1 0 1 0 variable 1 1 1 1 1 1 0 0 mask ---------------------- 1 0 1 0 1 0 0 0bits unchanged bits cleared
変数のビットをxで表すと以下のようになる。
x x x x x x x x variable 1 1 1 1 1 1 0 0 mask ---------------------- x x x x x x 0 0bits unchanged bits cleared
よって、
|
|
参照
オリジナルのページ
https://www.arduino.cc/reference/en/language/structure/compound-operators/compoundbitwiseand/
Last Revision: 2020/12/26
最終更新日
January 4, 2024