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