C 言語の「|」と「||」の違いは演算の種類にあります。「|」は両方の値が true の場合にのみ true になります。一方または両方の値が true である限り、true となる論理 OR 演算を実行します。
C 言語の「|」と「||」の違い
C 言語では、「|」 " と "||" は、ブール式のブール値を操作する論理演算子です。
"|": ビット単位の OR 演算
「|」演算子は、2 つのブール値に対してビット単位の OR 演算を実行します:
If両方の値が true であれば、結果も true になります。 - 一方または両方の値が false の場合、結果は false になります。
-
"||": 論理 OR 演算
"||" 演算子は論理 OR 演算を実行し、2 つのブール値も演算します。
どちらかまたは両方の値が true の場合、結果は true になります。 - 結果は、両方の値が false の場合にのみ false になります。
-
# 相違点の概要
#演算子操作の種類 | 結果の条件 |
|
#ビット単位または
両方の値が true |
|
|
| ##論理的OR | どちらかまたは両方の値がtrue |
|
| ##Example
<code class="c">int a = 1; // 0001
int b = 2; // 0010
int result1 = a | b; // 0011 (按位或)
int result2 = a || b; // 1 (逻辑或)</code>
ログイン後にコピー
最初の例では、「|」演算子がビット単位の OR 演算を実行し、結果は「0011」になります。 2 番目の例では、「||」演算子が論理 OR 演算を実行し、両方の値が true であるため、結果は「1」になります。
以上がC言語の|との違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。