标签: logical-and

C++如何处理&&?(短路评估)

当遇到(bool1 && bool2)时,如果发现bool1为false,c ++是否会尝试检查bool2,或者它是否像PHP那样忽略它?

对不起,如果它是一个问题的基础,但我真的无法在Schildt或互联网上找到这一点.

c++ short-circuiting and-operator logical-and

45
推荐指数
3
解决办法
3万
查看次数

kotlin中“&&”和“and”的区别

kotlin中“&&”和“and”有什么区别?

在我的代码中,当第一个条件为假时,我注意到“and”之后的条件仍然被评估,但在“&&”情况下不被评估。这是为什么?

android logical-operators kotlin logical-and

16
推荐指数
1
解决办法
1853
查看次数

在 Postgresql 中,分组后,如果列的任何值为 false,则返回 false。如果所有值都为真/假,则分别返回真/假

我有一个名为“apple”的表,我编写了以下查询:

select name, 
       count(name), 
       case when istasty is null then false else istasty end 
from apple 
group by name, istasty; 
Run Code Online (Sandbox Code Playgroud)

这是输出:

在此处输入图片说明

我正在尝试使用以下条件对nameistasty标志进行分组:

  1. 当对应的 name 列既有 true 也有 false 时,则返回 false。在上图中,同时tala具有truefalse istasty列。但是,我想返回 false,因为它至少有一个 falseistasty列。
  2. 如果在对istasty特定名称列的所有列进行分组true之后返回true;同样,如果所有istasty列都是false,则返回false该特定名称列。

我可以通过编写查询来实现使用bool_and操作符postgresql

select name, count(name), bool_and(coalesce(istasty = true, false)) from apple group by name;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

有什么方法可以修改我的第一个查询,以便我添加过滤器having clause以实现与bool_and …

postgresql grouping boolean logical-operators logical-and

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

计算两个 __m256i 变量的元素之间的逻辑与 (&&) 的最快方法是什么,寻找任何一对非零元素

据我所知,C++中的整数可以像布尔值一样对待,我们可以有这样的代码:

int a = 6, b = 10;
if (a && b) do something ---> true as both a and b are non-zero
Run Code Online (Sandbox Code Playgroud)

现在,假设我们有:

__m256i a, b;
Run Code Online (Sandbox Code Playgroud)

我需要对 __m256i 中的所有 4 个长变量应用逻辑与 (&&),如果一对非零则返回 true。我的意思是:

(a[0] && b[0]) || (a[1] && b[1]) || ...
Run Code Online (Sandbox Code Playgroud)

我们是否有用于此目的的 AVX 或 AVX2 快速代码?

我找不到任何直接的指令用于此目的,并且肯定,使用按位与 (&) 也是不一样的。

c++ simd avx avx2 logical-and

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

如何使用逻辑AND运算符(&&)c ++调用这两个函数

假设我有两个函数和一个变量,

int number;

bool foo (void);
bool footoo (void);
Run Code Online (Sandbox Code Playgroud)

在每个函数中,number都会发生一些带变量的逻辑,例如:

number++;
return(rand()%2);
Run Code Online (Sandbox Code Playgroud)

然后我称他们为:

if (foo() && footoo())
{
    cout << "Two foo true!"
}
Run Code Online (Sandbox Code Playgroud)

为什么不调用这两个函数number?无论返回值如何,我如何保证调用和递增函数?

c++ logical-operators logical-and

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

C中的||,&&运算符

为什么此代码仅适用于&&运营商?

我认为应该是||,但我错了.Choice不能同时等于2个值?

我需要询问用户的输入,直到选择等于'a'OR 'd',但为什么我需要写&&?我不明白.

do
{
    scanf("%c", &choice);
} while ( choice != 'a' && choice != 'd' );
Run Code Online (Sandbox Code Playgroud)

我想用||,但它不起作用.

c logical-operators logical-or logical-and

3
推荐指数
3
解决办法
3853
查看次数

switch 语句中的 case 内具有相同的表达式

int main(){
char c='a';
switch(c){
    case 'a' && 1: printf("Hello");
    case 'b' && 1: printf("hey");
                   break;
         default : printf("Goodbye");
          }
}
Run Code Online (Sandbox Code Playgroud)

当我编译此代码时,结果是“编译错误”,这(根据我的说法)是因为在内部两个表达式都是 true,因此对于我们为“c”采用的任何字符,两种情况下的常量表达式都将始终为 true 。

但现在出现的疑问是我无法理解,内部如何解释代码以及编译器实际上如何解释该代码?

c label compiler-errors switch-statement logical-and

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

Python bitand(&)vs和

大家好我有这部分代码:

for line in response.body.split("\n"):
    if line != "": 
        opg = int(line.split(" ")[2])
        opc = int(line.split(" ")[3])
        value = int(line.split(" ")[5])
        if opg==160 & opc==129:
            ret['success'] = "valore: %s" % (value)
            self.write(tornado.escape.json_encode(ret))
Run Code Online (Sandbox Code Playgroud)

我有一系列的类型

1362581670        2459546910990453036    156     0     30      0
Run Code Online (Sandbox Code Playgroud)

我想只取第三个和第四个元素分别为160和129的行.这段代码不起作用.我需要做一些演员吗?我认为opg == 160正在使用int来进行campare int ...

python bitwise-operators logical-and

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

如何在多维数组(linq或简单算法)中的列上运行逻辑"xnor"?

目前,我有一系列可能性,我希望根据可能性列表计算事实(逻辑XNOR).

var possibilities = new[] {
    new[] {0, 1, 1, 1, 1, 1, 1, 1},
    new[] {1, 1, 1, 1, 1, 1, 1, 0}
}
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为XNOR的布尔数组(所有值相等)

预期结果:

[ 0, 1, 1, 1, 1, 1, 1, 0 ]
Run Code Online (Sandbox Code Playgroud)

可能性的数量是1 .. n.另一个例子是:

var possibilities = new[] {
    new[] {1, 1, 0, 1, 1, 0, 0, 0},
    new[] {1, 1, 0, 1, 1, 0, 0, 1},
    new[] {0, 1, 1, 0, 1, 1, 0, 1}
}
Run Code Online (Sandbox Code Playgroud)

结果将是: …

c# linq arrays algorithm logical-and

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

为什么变量本身不增加?

我在这里很难理解这段代码。我的问题是为什么后增量不对变量j起作用?似乎该行永远不会执行,并且最终显示0 0而不是0 1?

#include <stdio.h>

int main() {
    int i = 0, j = 0;
    (i == 0) || j++;
    printf("%d %d", i, j);
}
Run Code Online (Sandbox Code Playgroud)

如果有人向我解释我错了,我将不胜感激,谢谢!

c logical-operators logical-or logical-and

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