Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
&=

名称

&=

説明

&=は、変数と定数とを組み合わせて使い、変数の特定のビットをLOW(0)にするためによく使われる。これは、プログラミングガイドで、クリアやリセットと呼ばれる。

書式

x &= y; // x = x & y; と同じ。

引数

x char型、int型、long型の変数。
y char型、int型、long型の変数もしくは定数。

使用例

まず、ビット単位のAND演算子を再確認する。

0 0 1 1 オペランド1
0 1 0 1 オペランド2
------
0 0 0 1 (オペランド1 & オペランド2) - 計算結果

0とビット単位のANDをとったビットは0にクリアされるので、myByteがbyte 型の変数であれば、myByte & B00000000 = 0となる。

1とビット単位のANDをとったビットは変更されないので、myByte & B11111111= myByteとなる。

注意:ビット単位演算ではビットを扱うため、定数にはバイナリ形式を使うのが便利だ。数字は他の表現形式と同じ値だが理解するのが難しい。わかりやすさのためにB00000000を使うが、どんな形式でも0は0だ。

さらに、変数のビット0と1をクリア(ゼロに設定)し、他のビットは変えたくないときには、B11111100を&=で適用すればいい。

1 0 1 0 1 0 1 0 変数
1 1 1 1 1 1 0 0 マスク
-------------
1 0 1 0 1 0 0 0 変数 & マスク
変更なし(上位6ビット)
        クリア(下位2ビット)

よって、myByte = 10101010; のとき、myByte &= B1111100 == B10101000; となる。

注意

特になし。

バージョン

Arduino 1.8.2



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system