ビットごとの AND 代入演算子 (&=)
更新 : 2007 年 11 月
変数の値と式で指定された値のビットごとの AND 演算を行い、その結果を変数に代入します。
result &= expression
引数
result
任意の数値変数を指定します。expression
任意の数式を指定します。
解説
この演算子は、result = result & expression と指定する場合とほぼ同じ結果になります。ただし、result は一度しか評価されません。
&= 演算子は、引数を一致するデータ型に変換します。続いて、&= 演算子は result と expression の値を 2 進数形式で取り込み、それに対してビットごとに AND 演算を行います。
この演算の結果は次のようになります。
0101 (result)
1100 (expression)
----
0100 (output)
両方の式でビットの値が 1 の場合、演算結果のそのビット値は必ず 1 になります。それ以外の場合は 0 になります。