标签: boolean-expression

十进制到二进制转换

我正在为Decimal和Binary基数系统之间的转换编写一个函数,这是我的原始代码:

void binary(int number)
{
    vector<int> binary;

    while (number == true)
    {
        binary.insert(binary.begin(), (number % 2) ? 1 : 0);
        number /= 2;
    }

    for (int access = 0; access < binary.size(); access++)
        cout << binary[access];
}
Run Code Online (Sandbox Code Playgroud)

然而,在我这样做之前它没有用:

while(number)
Run Code Online (Sandbox Code Playgroud)

怎么了?

while(number == true)
Run Code Online (Sandbox Code Playgroud)

这两种形式有什么区别?提前致谢.

c++ evaluation boolean-expression while-loop conditional-statements

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

Python:为什么False或'name'返回'name'而不是False?

据我所知 :

and,or是布尔运算符,任何布尔表达式都应该返回一个布尔值.

那么,为什么会发生这种情况:

  • False or 'name'返回'name'而不是True
  • True and ''返回''而不是False

请解释一下,python如何处理布尔表达式?

python boolean-logic boolean boolean-expression boolean-operations

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

什么"?" 和":"在布尔语句中做什么?

我认为这个问题是一个通用的编程问题,但让我们假设我要问这个问题.

以下陈述的作用是什么?

return a ? (b || c) : (b && c);
Run Code Online (Sandbox Code Playgroud)

我在SO的许多主题中都看到了?s和:s 的语法,我在Check中找到了这个特别是三个布尔中至少有两个是真的

但我不知道它们是什么意思,所以如何使用它们,我相信它对我来说非常有用.

谢谢 !

java boolean operators boolean-expression

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

从String评估自定义布尔表达式

我有一串来自客户端的参数.一个例子可能是:

串PARAM = "(AND NAME.FULLNAME DOB.OPTIONAL)OR(ID和DOB.REQUIRED)OR(ID和国家)"

现在,我已经解析了所有传入的数据,并且具有代表每个参数的布尔值.

喜欢 :

bool name_FullName = true;
bool dob_Optional = false;
Run Code Online (Sandbox Code Playgroud)

等等

我正在尝试找到将客户参数表达式评估为True或False的最佳方法.

我想只是用他们的真/假bool替换参数.然后找到任何TRUE AND TRUE并删除它们,并替换TRUE AND FALSE为false.然后评估OR我离开的表达式.

输入后,这似乎是一个很好的方法.有没有人有我错过的更快的解决方案?

c# boolean-expression

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

当我运行"0和True"或"0和False"时,为什么我得到0

考虑这段代码:

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

0当我在Python中运行上述命令时,为什么会出现这种情况?

python boolean-expression

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

为什么在java中不允许赋值和没有括号的布尔运算符

对不起,对于奇怪的问题表述.如果有人知道如何让它变得更好,我会很高兴.以为我们有3个布尔变量:

boolean a = false;
boolean b = false;
boolean c = false;
Run Code Online (Sandbox Code Playgroud)

Java允许编写以下内容:

System.out.println(a=b);
System.out.println(a==b & a==c);
Run Code Online (Sandbox Code Playgroud)

从这两个陈述中我预计以下内容也是合法的.

System.out.println(a=b & a=c);
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么在第二种情况下不允许,在第一种情况下允许它?在第二种情况下,两个赋值都以布尔值解析,而且对我来说看起来合法.

java variable-assignment boolean-expression assignment-operator assign

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

使用False突破JavaScript'For'循环?

我不知道这是可能的(是吗?)

下面的代码显然记录了值1到5,然后突破了'for'循环,因为返回了'false'值.

function x() {
    for (var i = 0; i < 10; i++) {
        console.log(i);
        if (i == 5) return false;
    }
    return true
}

console.log(x());
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 为什么返回'false'时for循环会短路?我看了MDN但是没有任何关于使用'false'来打破for循环的东西.也尝试过看ECMA的规格,但遗憾的是太棒了.

  • 为什么函数不会向控制台返回'true',因为'for'循环执行后存在'return true'语句?即使错误以某种方式返回'第一',也不应该'真'返回最后还是?

javascript for-loop break boolean-expression

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

在布尔表达式中使用strlen()的奇怪行为

今天我试图调试一个应用程序,我发现了一个包含strlen()的布尔表达式的奇怪行为.

下面是一个简单的代码,可以重现该问题.

char test[20] = "testTestTest";  //the length is 12
bool b = 0 < (9 - strlen(test)); //should be false (0 < -3) = false
Run Code Online (Sandbox Code Playgroud)

在执行结束时b是真的,但它应该是假的.

将strlen()的结果保存在变量中.

char test[20] = "testTestTest"; //the length is 12
int length = strlen(test);      //save the length
bool b = 0 < (9 - length);      //should be false (0 < -3) = false
Run Code Online (Sandbox Code Playgroud)

在执行结束时b是假的(因为它应该是).

这两种实现有什么区别?
为什么第一个不起作用?

原始受影响的代码是这样的:

char test[20] = "testTestTest"; //the length is 12
for(int i = 0; i < (9 - strlen(test)); …
Run Code Online (Sandbox Code Playgroud)

c++ expression boolean-expression strlen

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

这是什么意思!(x == 1)

!(x == 1)在一个问题中看到了这个表达.

虽然我明白x == 1手段x等于1,x != 1手段x不等于1.

怎么样!(x == 1),这x是不是等于1

java boolean boolean-expression

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

有没有更干净的方法可以在Python中编写此布尔比较?

此作业的说明为:

我们传入2个布尔输入,寒冷和多雨。

您应该根据这些输入输出一个字符串:(“冷”或“暖”)“和”(“多雨”或“干”)。

(“冷”或“暖”)表示您应根据输入的布尔值使用两个单词中的一个。

例如False,True =“温暖多雨”

我输入的代码是:

# Get our boolean values from the command line
import sys
isCold= sys.argv[1] == 'True'
isRainy= sys.argv[2] == 'True'

# Your code goes here

condition = ""
if (isCold):
  condition += "cold"
else:
  condition += "warm"

if (isRainy):
  condition += " and rainy"
else:
  condition += " and dry"

print(condition)
Run Code Online (Sandbox Code Playgroud)

该代码是正确的并且可以输出预期的结果,但是我想知道是否有一种更干净的方式编写此代码?我感觉好像有,但我不太清楚。

python if-statement boolean-expression conditional-statements python-3.x

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