新手问题。 如何计算公式A f B的值,其中f - 二元函数OR或AND?
答案 0 :(得分:21)
条件运算符&&和和||和布尔运算符&和|。主要是优先权(首先评估哪些运营商)以及&&和和||正在'逃避'。这意味着这是一个序列,如......
cond1 && cond2 && cond3
如果cond1为false,则cond2或cond3都不会被评估,因为代码正确地假设无论它们的值是什么,表达式都不能为真。同样...
cond1 || cond2 || cond3
如果cond1为true,则cond2或cond3都不会被计算,因为表达式必须为true,无论它们的值是什么。
按位对应物&和|没有逃脱。
希望有所帮助。
答案 1 :(得分:15)
逻辑OR为||
,逻辑AND为&&
。
如果您需要否定否,请在表达式前加上!
。
示例:
X = (A && B) || C || !D;
当A和B为真或者C为真或者D不为真(即假)时,X将为真。
如果您想要按位AND / OR / NOT,则可以使用&
,|
和~
。但是如果你正在处理布尔/真值,你不想使用它们。它们不提供短路评估,例如由于按位操作的方式。
答案 2 :(得分:0)
if(A == "haha" && B == "hihi") {
//hahahihi?
}
if(A == "haha" || B != "hihi") {
//hahahihi!?
}
答案 3 :(得分:0)
我不确定这是否能回答你的问题,但例如:
if (A || B)
{
Console.WriteLine("Or");
}
if (A && B)
{
Console.WriteLine("And");
}
答案 4 :(得分: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
答案 5 :(得分:0)
如果您感兴趣的是按位操作,请查看此处的简短教程:http://weblogs.asp.net/alessandro/archive/2007/10/02/bitwise-operators-in-c-or-xor-and-amp-amp-not.aspx .bitwise操作执行与上面示例的操作相同的操作,它们只使用二进制表示(该操作适用于每个单独的位)值)
如果您想要逻辑操作答案已经给出。
答案 6 :(得分:-1)
&安培;&安培;只有当两个操作数都为真时才会返回true,这意味着
bool and(bool b1, bool b2)]
{
if(b1==true)
{
if(b2==true)
return true;
}
return false;
}
||如果一个或两个操作数都是真的意味着
,那么它的操作返回truebool 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
因此,我在上面写的内容是针对每对位使用的
答案 7 :(得分:-1)
上面的许多答案,我会尝试不同的方式:
如果您正在寻找按位操作,请仅使用以下标记之一:
3& 1 // == 1 - 和 4 | 1 // == 5 - 或