ビット演算子とブール演算子の理解: & 対 && および | vs. ||
プログラミングでは、記号 & と | && と || はビット単位の演算子を表します。ブール論理演算子を表します。これらは似ているように見えますが、その機能には決定的な違いがあります。
ビット単位演算子: && および |
ビット単位演算子は、2 進数内の個々のビットに対して演算を実行します。例:
int a = 6; // Binary: 110 int b = 4; // Binary: 100 int c = a & b; // Bitwise AND int d = a | b; // Bitwise OR
この場合、取得される値は次のとおりです。
ビットごとの AND を実行する場合、オペランドの各ビット位置が比較されます。対応するビットが両方とも 1 の場合、対応する位置の結果ビットは 1 になります。逆に、ビットごとの OR では、オペランド内の少なくとも 1 つの対応するビットが 1 の場合、結果のビットは 1 になります。それ以外の場合は、0 です。
ブール論理演算子: && および ||
ブール論理演算子は、ブール値 (true または false) を処理します。これらはビット演算子と同様のルールに従いますが、
ビット単位の演算子とは異なり、ブール論理演算子は短絡的です。つまり、結果が先に決定できる場合、すべてのオペランドは評価されません。これにより、null 値を評価するときに例外が発生するのを防ぎます。
以上がビット演算子とブール演算子: 「&」と「&&」、「|」と「||」の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。