| (ビット単位包含 OR) 演算子は、各オペランドの値 (2 進形式) を比較し、 いずれかのオペランドのどのビットの値が 1 であるかを示すビット・パターンの値を生成します。 両方のビットが 0 であると、その結果のビットは 0 になり、 それ以外の結果は 1 になります。
オペランドは両方とも、整数型または列挙型でなければなりません。各オペランドには、通常の算術変換が実行されます。 結果には、変換されたオペランドと同じ型が保持されます。結果は、左辺値ではありません。
ビット単位包含 OR 演算子には、結合属性と可換属性の両方があるので、コンパイラーは、 複数のビット単位包含 OR 演算子を含む式の中でオペランドの再配置を行うことができます。 | 文字は、3 文字表記文字の ??! によって表されることに注意 してください。
次の例では、16 ビットの 2 進数で表された、a と b の値と
、a | b の結果を示します。
a のビット・パターン | 0000000001011100 |
b のビット・パターン | 0000000000101110 |
a | b のビット・パターン | 0000000001111110 |
1 | 4 は 5 になります。
一方、
1 || 4 は true になります。
関連参照