プログラミングにおけるビット演算子 (&,|) とブール演算子 (&&, ||) の違いは何ですか?

Susan Sarandon
リリース: 2024-11-17 14:58:02
オリジナル
553 人が閲覧しました

What's the Difference Between Bitwise (&,|) and Boolean (&&, ||) Operators in Programming?

プログラミングにおけるブール演算子: & vs && and | vs ||

ブール演算子 && (条件付き And) および || (条件付き-OR) が一般的に使用されるため、開発者はビット単位の対応物である & と | に遭遇する可能性があります。これらの演算子の違いを理解することは、エラーを防止し、効率的なコードを作成するために重要です。

ビット単位の AND ( & ) および OR ( | )

ビット単位の演算子、& および | 、ビットレベルで計算を実行します。これらの演算子は 2 つのバイナリ値を受け取り、対応する各ビットに論理演算を適用します。

例:

int a = 6; // 110
int b = 4; // 100

// Bitwise AND

int c = a & b;
//   110
// & 100
// -----
//   100

// Bitwise OR

int d = a | b;
//   110
// | 100
// -----
//   110

System.out.println(c); // 4
System.out.println(d); // 6
ログイン後にコピー

この例では、ビット単位の AND 演算 (c) により結果ビットが次のように設定されます。 a と b の両方の対応するビットが 1 の場合にのみ 1 になります。したがって、c の結果は 4 (100

ビットごとの OR 演算 (d) は、a と b の対応するビットの少なくとも 1 つが 1 の場合、結果のビットを 1 に設定します。したがって、d の結果は 6 (2 進数では 110) になります。 .

条件付き - And ( && ) および OR ( || )

ブール演算子 && および ||式を true または false として評価します。これらの演算子の動作は次のとおりです。

  • Conditional-And ( && ): 両方の式が true の場合にのみ true を返します。それ以外の場合は、false を返します。
  • Conditional-Or ( || ): 少なくとも 1 つの式が true の場合、true を返します。それ以外の場合は、false を返します。

主な違い

  • ビット演算子はビットレベルの演算を実行しますが、ブール演算子は論理式を評価します。
  • ビット演算子は式内のすべての値を検査しますが、ブール演算子は式が次のように認識されている場合に短絡する可能性があります。 true または false です。
  • ビット演算子はビット操作に使用され、ブール演算子は条件評価に使用されます。

以上がプログラミングにおけるビット演算子 (&,|) とブール演算子 (&&, ||) の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート