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