& 演算子と && 演算子の違いは次のとおりです。& はオペランドをビットごとに比較するビット単位の AND 演算に使用され、&& が使用される場合は両方の辺が同時に 1 の場合にのみ結果が 1 になります。論理 AND 演算の場合、演算のチェック すべての数値が true かどうか、そのうちの 1 つが false である限り、結果は false になります。
& と &&&
C 言語では、& と && はどちらも演算子ですが、さまざまな用途:
1. ビット演算子 (&):
& 演算子は、ビットごとの AND 演算を実行するために使用されます。 2 つのオペランドをビットごとに処理し、結果を結果に格納します。両方の入力ビットが同時に 1 である場合にのみ、結果の各ビットが 1 になります。
例:
int a = 3; // 二进制为 0011 int b = 5; // 二进制为 0101 int c = a & b; // 按位与运算 // 结果 c 为 0001 (二进制为 1)
2。論理演算子 (&&):
&& 演算子は、論理 AND を実行するために使用されます。つまり、両方のオペランドが true であるかどうかをチェックします。両方が true の場合、結果は true になります。そうでない場合、結果は false になります。
例:
bool a = true; bool b = false; bool c = a && b; // 逻辑与运算 // 结果 c 为 false,因为 b 为 false
概要:
使用 | |
---|---|
ビット単位の AND 演算 | ##&& |
ビット単位の AND 演算子は、論理 AND 演算子よりも優先されます。
論理演算では、一方のオペランドが false であれば、もう一方のオペランドに関係なく、結果は false になります。以上がC++ における & と && の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。