ビット演算子: & vs && and | vs ||
論理演算子 (&&、|) とビット演算子 (&、|) は機能が異なります。論理演算子はブール値を演算し、ビット演算子はバイナリ値 (ビット) を演算します。
ビット演算子:
例:
次の Java コードを考えます:
int a = 6; // binary: 110 int b = 4; // binary: 100 // Bitwise AND int c = a & b; // 110 & 100 = 100 (binary) // Bitwise OR int d = a | b; // 110 | 100 = 110 (binary)
出力:
c: 4 (decimal) d: 6 (decimal)
条件演算子とビット演算子演算子:
ブール入力で使用すると、(& と | は対応する論理演算子 (&& と ||) とほぼ同じように動作しますが、決定的な違いがあります。論理演算子は短絡します。逆に、ビット演算子は常に両方の条件を評価します。
したがって、論理演算子を使用することが重要です。特定の場合に後続の条件の評価を避けたい場合は、ビット単位の計算を実行したり、バイナリ値を操作する必要がある場合には、ビット単位の演算子が役立ちます。
以上がビットごとの AND (&) と論理 AND (&&): いつどちらを使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。