标签: boolean-operations

哪个更有效:二进制 & 或逻辑 &&

当所有值都是布尔值时,二进制&操作是否比逻辑操作更多的位&&

例如

if ( foo == "Yes" & 2 != 0 & 6 )
Run Code Online (Sandbox Code Playgroud)

或者

if ( foo == "Yes" && 2 != 0 && 6 )
Run Code Online (Sandbox Code Playgroud)

(具体考虑 PHP,但任何语言都可以)

boolean logical-operators boolean-operations

0
推荐指数
1
解决办法
366
查看次数

C#如果== false,为什么执行&= SomeFunction()?

让我们说你有

class Program
{
    static void Main()
    {
        bool a = GetFalse();
        if (a)
        {
            a = GetTrue();
        }

        bool b = GetFalse();
        b &= GetTrue();
    }

    static bool GetFalse() => (false);

    static bool GetTrue() => (true);
}
Run Code Online (Sandbox Code Playgroud)

为什么GetTrue()b已经错误的情况下执行?

&=操作员是否应该认识到它永远不能评估为真?

c# boolean-logic boolean-operations

-1
推荐指数
1
解决办法
62
查看次数

小于运算符在执行几次后无法正常工作

我是学习 C++ 的初学者。就在今天,我尝试学习布尔运算符和if-else语句。

这是代码:

int main(){
    //if-else statement
    int a, b;
    bool result = (a < b);
    
    std::cout << "input number 1 : ";
    std::cin >> a;
    std::cout << "input number 2 : ";
    std::cin >> b;
    std::cout << std::boolalpha << result <<std::endl;
    if(result == true){
        std::cout << a << " is less than " << b << std::endl;
    }
    if(!(result == true)){
        std::cout << a << " is NOT less than " << b << std::endl;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ if-statement boolean-operations

-1
推荐指数
1
解决办法
196
查看次数

Python bitwise与布尔运算符

我读通过教程的一个基于Python的交易平台,它是推荐使用按位的(~,&,|),而不是布尔(not,and,or)运营商合并布尔表达式.

类似因素,可以组合过滤器.使用&(和)和|(或)运算符组合过滤器.

有这么好的理由吗?我以前从未见过它.我并不完全确定Python中布尔值的所有属性,但我确实认为在C和C++中,布尔值由整数1或0表示,并且可以这样操作.Python类似吗?在这种情况下,我可以看到一个&|至少是如何工作的.

使用这些按位运算符而不是布尔值的目的是什么?它更快吗?

python bitwise-operators boolean-operations

-2
推荐指数
1
解决办法
549
查看次数

为什么这个bool表达式'或'返回True?

我仍在使用bool逻辑.

我有这个片段,我不明白为什么结果出来了.

flag = False
print(flag)
flag = flag or True
print(flag)
Run Code Online (Sandbox Code Playgroud)

你得到:

>>False
>>True
Run Code Online (Sandbox Code Playgroud)

为什么会这样?我不确定这是如何工作的.

是或者应该给你任何表达式为True的实例?

我知道为什么会这样:

check = (7 > 60) or (7 < 10)
print(check)
Run Code Online (Sandbox Code Playgroud)

7小于10,因此检查表达式为True

感谢您的解释.只是想在脑子里研究bool.

python boolean-logic boolean-expression boolean-operations

-3
推荐指数
1
解决办法
74
查看次数

否定的真/假和无的平等

当实现棋盘游戏时,棋盘格可以处于三种可能的可用状态之一:True(第一玩家占用的小区),False(第二玩家占用的小区)或None(小区为空).

我的问题是:

为什么

not(True) == None 
return True 
Run Code Online (Sandbox Code Playgroud)

而实际上应该return False呢?

为什么呢

not(False) == None 
return True 
Run Code Online (Sandbox Code Playgroud)

而实际上应该return False呢?

这可能是Python中可能的错误,应该尽快向开发人员报告,其中包括其中的开发人员?

python boolean-logic boolean boolean-expression boolean-operations

-3
推荐指数
1
解决办法
143
查看次数

-3
推荐指数
1
解决办法
2439
查看次数

对于参数类型int,boolean,运算符^未定义

我正在解决Hackerrank问题'最大化xor'.(https://www.hackerrank.com/challenges/maximizing-xor)

我使用'if'语句来检查i xor j是否大于'max',如代码所示.

static int maxXor(int l, int r) {
    int max=0;
    for(int i=l;i<r;i++)
        for(int j=l;j<r;j++)
        {
            if(i^j>max)/*error part*/
            max=i^j;
        }
    return max;
}
Run Code Online (Sandbox Code Playgroud)

但为什么我会收到此错误?

对于参数类型int,boolean',运算符^未定义

java operator-precedence boolean-operations

-6
推荐指数
1
解决办法
289
查看次数