Вопрос о новичке. Как вычислить значение формулы f B, где f - двоичная функция ИЛИ или И?
Логическое ИЛИ - ||
, логическое И - &&
.
Если вам нужно отрицание НЕ, добавьте к выражению префикс !
.
Пример:
X = (A && B) || C || !D;
Тогда X будет истинным, если либо A и B истинны, либо если C истинно, либо если D не истинно (то есть ложно).
Если вам нужно побитовое И / ИЛИ / НЕ, вы должны использовать &
, |
и ~
. Но если вы имеете дело с логическими значениями / значениями истины, вы не хотите их использовать. Они не обеспечивают оценку короткого замыкания, например, из-за того, как работает поразрядная операция.
Есть различие между условными операторами && и || и логические операторы & и |. В основном это разница в приоритете (какие операторы вычисляются первыми), а также в && и || «убегают». Это означает, что это последовательность, такая как ...
cond1 && cond2 && cond3
Если cond1 ложно, ни cond2, ни cond3 не оцениваются, поскольку код правильно предполагает, что независимо от их значения, выражение не может быть истинным. Аналогично ...
cond1 || cond2 || cond3
Если cond1 истинно, ни cond2, ни cond3 не оцениваются, поскольку выражение должно быть истинным независимо от их значения.
Поразрядные эквиваленты & и | не убегают.
Надеюсь, что это поможет.
if(A == "haha" && B == "hihi") {
//hahahihi?
}
if(A == "haha" || B != "hihi") {
//hahahihi!?
}
Я не уверен, что это ответ на ваш вопрос, но, например:
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 . Побитовая операция выполняет те же операции, что и приведенные выше, они просто работают с двоичным представлением (операция применяется к каждому отдельному биту значения)
Если вы хотите, чтобы логическая операция выполнялась, ответы уже даны.
&& эта операция возвращает истину, только если оба операнда истинны, что подразумевает
bool and(bool b1, bool b2)]
{
if(b1==true)
{
if(b2==true)
return true;
}
return false;
}
|| это операция return 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
Следовательно, то, что я написал выше, используется по отношению к каждой паре битов
{{ 1}}Используйте '&&' для И и используйте '||' для ИЛИ, например:
bool A;
bool B;
bool resultOfAnd = A && B; // Returns the result of an AND
bool resultOfOr = A || B; // Returns the result of an OR
много ответов выше, я попробую другой способ:
если вы ищете побитовые операции, используйте только один из знаков, например:
3 & 1 //==1 - и 4 | 1 //==5 - или