14

初心者の質問です。式 A f B の値を計算する方法、ここで f - 二項関数 OR または AND?

4

8 に答える 8

22

条件演算子 && と || には違いがあります。およびブール演算子 & および |。主に、優先順位 (どの演算子が最初に評価されるか) と && および || の違いです。「逃げている」。これは、次のようなシーケンスであることを意味します...

cond1 && cond2 && cond3

cond1 が false の場合、cond2 と cond3 のどちらも評価されません。これは、その値が何であれ、式が true になることはないとコードが正しく想定しているためです。同じく...

cond1 || cond2 || cond3

cond1 が true の場合、cond2 も cond3 も評価されません。これは、その値が何であれ、式が true でなければならないためです。

ビット単位の対応する & および | 逃げていません。

それが役立つことを願っています。

于 2010-05-17T10:21:16.597 に答える
18

論理 OR は||、論理 AND は&&です。否定 NOT が必要な場合は、式の前に!.

例:

X = (A && B) || C || !D;

次に、A と B のいずれかが真の場合、または C が真の場合、または D が真でない (つまり、偽) 場合、X は真になります。

ビットごとの AND/OR/NOT が必要な場合は&|とを使用し~ます。ただし、ブール値/真値を扱っている場合は、それらを使用したくありません。たとえば、ビット単位の操作が機能する方法が原因で、短絡評価は提供されません。

于 2010-05-17T10:16:35.817 に答える
1
if(A == "haha" && B == "hihi") {
//hahahihi?
}

if(A == "haha" || B != "hihi") {
//hahahihi!?
}
于 2010-05-17T10:18:18.007 に答える
0

ビット単位の操作に興味がある場合は、ここで簡単なチュートリアルをご覧ください。 amp-not.aspx .bitwise 操作は、上記の例と同じ操作を実行します。バイナリ表現でのみ機能します (操作は値の個々のビットに適用されます)。

論理演算の答えが必要な場合は、既に与えられています。

于 2010-05-17T11:29:24.817 に答える
0

これがあなたの質問に答えるかどうかはわかりませんが、例えば:

if (A || B)
{
    Console.WriteLine("Or");
}

if (A && B)
{
    Console.WriteLine("And");
}
于 2010-05-17T10:19:01.210 に答える
0

AND には「&&」を使用し、「||」を使用します OR の例:

bool A;
bool B;

bool resultOfAnd = A && B; // Returns the result of an AND
bool resultOfOr = A || B; // Returns the result of an OR
于 2010-05-17T10:22:18.920 に答える
-1

上記の多くの答え、私は別の方法を試します:

ビット単位の操作を探している場合は、次のようなマークの 1 つだけを使用します。

3 & 1 //==1 - そして 4 | 1 //==5 - または

于 2010-05-17T14:13:16.570 に答える
-1

&& 両方のオペランドが true である場合にのみ true を返す操作です。

bool and(bool b1, bool b2)]
{
 if(b1==true)
 {
   if(b2==true)
    return true;
 }
 return false;
}

|| それは操作であり、一方または両方のオペランドが true の場合に true を返します。

bool or(bool b1,bool b2)
{
 if(b1==true)
 return true;
 if(b2==true)
 return true;
 return false;
}

あなたが書く場合

y=45&&34//45 binary 101101, 35 binary 100010

その結果、あなたは持っています

y=32// in binary 100000

したがって、上で書いた は、すべてのビットのペアに対して使用されます。

于 2010-05-17T10:48:09.197 に答える