标签: boolean-logic

C布尔逻辑

我一直在尝试使用C语言编写一些程序并且遇到这个......

#include<stdio.h>
int main()
{
    int j = 3, k;
    k= !5 && j;
    printf("%d", k);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以弄清楚这是什么问题,如果我编译程序,我会得到0

当我在c#中尝试相同的代码

public void logic()
{
    j = 5;
    k = !4 && j;
    Console.WriteLine("hence the value would be " + k);
}
Run Code Online (Sandbox Code Playgroud)

这将生成错误*(错误1运算符'!'不能应用于'int'类型的操作数C:\ Documents and Settings\SANDEEP\My Documents\Visual Studio 2005\Projects\ConsoleApplication18\ConsoleApplication18\Program.cs 21 17 ConsoleApplication18)

我想知道为什么我的c代码的输出不起作用,我怎么能使用!运营商在c#..... plz帮助....

c c# boolean-logic

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

编译器是否继续评估一个表达式,如果第一个为false,则all必须为true?

我确定这个问题之前可能已经得到了解答,所以我道歉,但我找不到合适的搜索条件来找到答案.

鉴于以下代码示例,是否db.GetRecords().Any()会执行?

string s = "Z";
bool x = s.IndexOfAny(new[] { 'A', 'B' }) > 0 &&
         db.GetRecords().Any();
Run Code Online (Sandbox Code Playgroud)

.net c# boolean-logic

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

条件中的多个表达式(C/C++)

我想在执行控制块之前确保所有3个条件都得到相同的答案:

#include <iostream>
#include <cstdlib>

int main(){

    ///BUT THIS DOES NOT WORK!
    if ( (2 + 2) == (1 + 3) == (4 + 0) ){
        std::cout << "not executed" << std::endl;
    }

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

假设这些数字实际上是变量.这就是我要做的事情:

#include <iostream>
#include <cstdlib>

int main(){

    int n1 = 2;
    int n2 = 2;
    int n3 = 1;
    int n4 = 3;
    int n5 = 4;
    int n6 = 0;

    int a = n1 + n2;

    ///this works
    if ( (n3 + n4) …
Run Code Online (Sandbox Code Playgroud)

c c++ boolean-logic expression conditional-statements

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

在javascript中有原始变量吗?

一个非常简单的问题,是否有一种情况,在javascript中使用原始数据类型是优选的,我特别困扰原始布尔值,请考虑以下代码

var bool = new Boolean(false);
if (bool){
    alert(bool);
}
Run Code Online (Sandbox Code Playgroud)

它会,alert但你会得到false,这有点令人困惑(false!= falsy).

那么使用原始数据类型尤其是原始布尔值是否有意义?

javascript variables primitive boolean-logic

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

Javascript中的布尔加法

如何在javascript中执行干净的布尔添加?

1+1 = 0;
1+0 = 1;
1+1+1 = 1;
Run Code Online (Sandbox Code Playgroud)

一个人可以加一个布尔人吗?

true+true = false
false+true = true;
Run Code Online (Sandbox Code Playgroud)

等等

javascript boolean-logic

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

使用或"|" java中语句的运算符

假设我有一个数组a [],如果我想改变a [i]的值并将其改为零,我可以通过使用temp变量来实现.

int temp = a[i];
a[i] = 0;
Run Code Online (Sandbox Code Playgroud)

但我遇到了类似的代码

int temp = a[i] | (a[i] = 0);
Run Code Online (Sandbox Code Playgroud)

我很难理解这一点.请解释它有效吗?使用类似类型的代码是一个好习惯吗?

java arrays boolean-logic

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

如果任何源列为true,则将布尔值聚合为true

假设我有下表:

id   column_a  column_b   column_c
1     t          f           t
2     t          f           f
3     f          t           f
Run Code Online (Sandbox Code Playgroud)

从上表中,我要:

select rows from id = 1,2;
Run Code Online (Sandbox Code Playgroud)

结果应为:

column_a   column_b   column_c
 t          f            t
Run Code Online (Sandbox Code Playgroud)

如果定义的ID中的任何行对特定列都为true,则我们假设结果为true。

sql postgresql boolean-logic aggregate-functions

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

如何在PowerShell中使用FINDSTR查找搜索字符串中所有单词以任何顺序匹配的行

以下findstr.exe命令几乎可以实现我想要的功能,但并不完全:

findstr /s /i /c:"word1 word2 word3" *.abc
Run Code Online (Sandbox Code Playgroud)

我用过:

  • /s 用于搜索所有子文件夹.
  • /c:

    使用指定的文本作为文字搜索字符串

  • /i 指定搜索不区分大小写.
  • *.abc abc类型的文件.

上述验看word1 word2 word3作为文字,因此只发现在的话,准确的顺序.

相比之下,我想所有的字匹配个别,在任何顺序(与逻辑,结合).

如果我/c:从上面的命令中删除,那么返回匹配任何单词的行(OR逻辑,析取),这不是我想要的.

可以在PowerShell中完成吗?

powershell boolean-logic findstr

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

haskell中的全加器

Haskell新手在这里.我需要一些帮助来为全加器编写函数.我有以下内容:

xor :: Bool -> Bool -> Bool
xor True False = True
xor False True = True
xor _ _ = False

fulladder :: Bool -> Bool -> Bool ->(Bool, Bool)
fulladder a b c =  c xor (a xor b) ++ (a&&b) || ((a xor b) && c)      
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

  * Couldn't match expected type `(Bool -> Bool -> Bool)
                                    -> Bool -> Bool'
                  with actual type `Bool'
  * The function `a' is applied to two arguments,
      but its …
Run Code Online (Sandbox Code Playgroud)

haskell boolean-logic

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

为什么C99编译器没有将"!a && b"优化为"a <b"的布尔值?

我看到这个非常有趣的推文:

抵制我的代码高尔夫本能if(!bool1 && bool2)变成if(bool1<bool2)

我之前从未见过,所以我想看看编译器是否也会使用这种优化.我开始使用自述文件和测试C程序进行回购:https://github.com/ndbroadbent/gcc_experiments

这是测试程序:

#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>

int main(int argc, const char* argv[]) {
  if(argc != 3) {
    printf("Usage: %s <a> <b>\n", argv[0]);
    exit(1);
  }
  bool a = strtol(argv[1], NULL, 10) != 0;
  bool b = strtol(argv[2], NULL, 10) != 0;

  if (!a && b) {
    printf("!a && b == true (a: %d, b: %d)\n", a, b);
  } else {
    printf("!a && b == false (a: %d, …
Run Code Online (Sandbox Code Playgroud)

c boolean-logic boolean compiler-optimization

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