ビット単位 AND &

& (ビット単位 AND) 演算子は、 第 1 オペランドの各ビットと第 2 オペランドの対応するビットを比較します。 ビットが両方とも 1 であれば、対応する結果のビットを 1 にセットします。 1 でなければ、対応する結果のビットを 0 にセットします。

オペランドは両方とも、整数型または列挙型でなければなりません。各オペランドには、通常の算術変換が実行されます。 結果には、変換されたオペランドと同じ型が保持されます。

ビット単位 AND 演算子には、結合属性と可換属性の両方があるので、コンパイラーは、 複数のビット単位 AND 演算子を含む式の中でオペランドの再配置を行うことができます。

次の例では、16 ビットの 2 進数で表された、ab の値、および 、a & b の結果を示します。

a のビット・パターン 0000000001011100
b のビット・パターン 0000000000101110
a & b のビット・パターン 0000000000001100
注:
ビット単位 AND (&) を、論理 AND (&&) 演算子と混同しないでください。 例えば、次のような場合です。


1 & 4 は 0 になります。
一方、
1 && 4 は true になります。

関連参照

IBM Copyright 2003