ホームページ  >  記事  >  バックエンド開発  >  C++ における | と || の違い

C++ における | と || の違い

下次还敢
下次还敢オリジナル
2024-04-28 17:24:15834ブラウズ

C における | (ビット単位の OR) と || (論理和) の違いは次のとおりです。 1. 演算: || はビット単位の比較を実行します。 2. 優先順位: || は | よりも高い優先順位を持ちます。 3. 目的: | はビット マスキングとシフト演算に使用され、|| は条件が true かどうかの判断などの論理演算に使用されます。

C++ における | と || の違い

C の | と || の違い

概要

C の | と || は両方とも論理演算子であり、ブール値を操作するために使用されます。これらは構文と操作は似ていますが、論理的な意味と優先順位が異なります。

構文

  • |: ビット単位の OR 演算子
  • ||: 論理和演算子

操作

    ビットごとの OR (
  • |): 2 つのブール値があればビットごとに比較します。ビットが true であれば、結果も true になります。
  • 論理和 (
  • ||): いずれかのブール値が true の場合、結果は true になります。

優先度

  • ||| よりも高い優先度を持ちます。これは、|| 演算子が | 演算子よりも前に評価されることを意味します。

<code class="cpp">bool a = true;
bool b = false;

// 按位或
bool result1 = a | b; // true,因为 a 的任何一位为 true

// 逻辑或
bool result2 = a || b; // true,因为 a 为 true</code>

主な違い

次の表は、 | と || の主な違いをまとめたものです。

特徴ビット単位 OR()論理 OR()操作ビットごとの比較論理比較優先度低位高位例`10 = 1``truefalse = true`

||# を使用する場合

#ビットごとの OR (
    |
  • ) を使用して、ビット マスクやシフト演算などのビットごとの演算を実行します。 論理 OR (
  • ||
  • ) を使用して、条件が true かどうかを判断するなどの論理演算を実行します。

以上がC++ における | と || の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。