标签: boolean-operations

布尔运算符&&和||

根据R输入语言定义,之间的差&&&(相应地|||)是,虽然后者不是前者被矢量.

根据帮助文本,我读到的差异类似于"And"和"AndAlso"(相应地"Or"和"OrElse")之间的区别......意思是:如果不是所有的评估都不是(即如果A为真,则A或B或C始终为真,因此请停止评估A是否为真)

有人会在这里光明吗?另外,R中是否有AndAlso和OrElse?

r logical-operators or-operator boolean-operations and-operator

232
推荐指数
4
解决办法
26万
查看次数

C#中是否有XNOR(逻辑双条件)运算符?

我是C#的新手,无法找到XNOR运算符来提供这个真值表:

a  b    a XNOR b
----------------
T  T       T
T  F       F
F  T       F
F  F       T

这是否有特定的运营商?或者我需要使用!(A ^ B)?

c# boolean boolean-operations

126
推荐指数
2
解决办法
5万
查看次数

为什么c ++对于布尔值没有&& =或|| =?

有没有"非常糟糕的事情"可以发生&& =和|| =被用作语法糖bool foo = foo && barbool foo = foo || bar

c++ boolean-operations

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

T-SQL中的布尔'NOT'不能处理'bit'数据类型?

尝试执行单个布尔NOT操作,似乎在MS SQL Server 2005下,以下块不起作用

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = NOT @MyBoolean;
SELECT @MyBoolean;
Run Code Online (Sandbox Code Playgroud)

相反,我越来越成功了

DECLARE @MyBoolean bit;
SET @MyBoolean = 0;
SET @MyBoolean = 1 - @MyBoolean;
SELECT @MyBoolean;
Run Code Online (Sandbox Code Playgroud)

然而,这似乎是一种扭曲的方式来表达像否定一样简单的东西.

我错过了什么吗?

sql t-sql sql-server boolean-operations

74
推荐指数
6
解决办法
8万
查看次数

有条件的XOR?

为什么C#没有条件XOR运算符?

例:

true  xor false = true
true  xor true  = false
false xor false = false
Run Code Online (Sandbox Code Playgroud)

c# operators xor boolean-operations

74
推荐指数
6
解决办法
7万
查看次数

Pandas中的元素逻辑OR

我想要元素方面的逻辑OR运算符.我知道"或"本身并不是我想要的.

我知道AND对应于&和不对~.但是OR怎么样?

python boolean-logic logical-operators boolean-operations pandas

71
推荐指数
2
解决办法
7万
查看次数

布尔运算符与按位运算符

我很困惑何时应该使用布尔与按位运算符

__PRE__

可能有人开导我,当我用每时都会使用一个比其他影响我的结果吗?

python bitwise-operators boolean-operations

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

如何在numpy数组上执行元素明智的布尔运算

例如,我想创建一个掩盖值为40到60之间的元素的掩码:

foo = np.asanyarray(range(100))
mask = (foo < 40).__or__(foo > 60)
Run Code Online (Sandbox Code Playgroud)

哪个看起来很难看,我写不出来:

(foo < 40) or (foo > 60)
Run Code Online (Sandbox Code Playgroud)

因为我最终得到:

  ValueError Traceback (most recent call last)
  ...
  ----> 1 (foo < 40) or (foo > 60)
  ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

是否有规范的方法在具有良好外观的代码的numpy数组上进行元素明智的布尔运算?

python numpy boolean-operations

47
推荐指数
4
解决办法
6万
查看次数

VBA:为什么 Not 运算符会停止工作?

这让我完全不知所措。

Sub testChangeBoolean()
  Dim X As Boolean       ' default value is False
  X = True               ' X is now True
  X = Not X              ' X is back to False
End Sub
Run Code Online (Sandbox Code Playgroud)

但我试图在表格单元格(在 Word 中)中切换 .FitText 属性。.FitText 以 True 开头。

如果我将它分配给 X:

Sub testChangeBoolean()
  Dim X As Boolean                  ' again, default is False
  X = Selection.Cells(1).FitText    ' does set X to True
  X = Not X                         ' X is still True!
End Sub
Run Code Online (Sandbox Code Playgroud)

我只是不明白我做错了什么。

vba ms-word boolean-operations

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

为什么大多数编程语言只有二进制相等比较运算符?

在自然语言中,我们会说"如果颜色是红色,蓝色或黄色,某些颜色是主要颜色."

在我看过的每种编程语言中,都转化为:

isPrimaryColor = someColor == "Red" or someColor == "Blue" or someColor == "Yellow"
Run Code Online (Sandbox Code Playgroud)

为什么没有更接近匹配英语句子的语法.毕竟,如果颜色为红色,或者颜色为蓝色,或者颜色为黄色,则不会说"某些颜色是原色."

我只是isPrimaryColor = someColor == ("Red" or "Blue" or "Yellow")因为而不是红色和黄色它们可能是布尔语句,在这种情况下布尔逻辑适用,但是如下所示:

isPrimaryColor = someColor ( == "Red" or == "Blue" or == "Yellow")
Run Code Online (Sandbox Code Playgroud)

作为一个额外的奖励,语法将允许更多的灵活性,说你想看一个数字是1到100或1000和2000,你可以说:

someNumber ((>= 1 and <=100) or (>=1000 and <=2000))
Run Code Online (Sandbox Code Playgroud)

编辑:

非常有趣的答案,并指出我应该学习更多的语言.在阅读完答案之后,我同意,对于严格的相等比较,类似于集合成员资格的东西是表达同一事物的清晰简洁的方式(对于具有简明内联列表或集合和测试成员资格的语言支持的语言)

出现的一个问题是,如果要比较的值是昂贵计算的结果,则需要(好的,应该)创建临时变量.另一个问题是可能需要检查不同的评估,例如"一些昂贵的计算结果应该是素数并且在200到300之间"

更多功能语言也涵盖了这些场景(虽然取决于语言可能不是更简洁),或者实际上任何可以将函数作为参数的语言.例如,前面的例子可能是

MeetsRequirements(GetCalculatedValue(), f(x):x > 200, f(x):x < 300, IsPrime)
Run Code Online (Sandbox Code Playgroud)

language-design boolean-operations

29
推荐指数
8
解决办法
1835
查看次数