我正在创建一个用户可以输入术语的“基本搜索”栏。我不确定布尔逻辑的操作顺序。
如果有人键入术语(不带引号):
A 和 B 或 C
正确的治疗方法是什么?
(A 和 B) 或 (C)
或者
(A) 和 (B 或 C)
维基百科的救援,这应该有助于:
http://en.wikipedia.org/wiki/Order_of_operations#Programming_languages
从事物的外观来看,它似乎AND
优先OR
于大多数语言。
根据 Quetzalcoatl 的回答,OP 问题的正确答案是:
(A 和 B)或 C
这相当于“A and B or C”
尽管 Quetzalcoatl 的链接 ( http://en.wikipedia.org/wiki/Order_of_operations#Programming_languages ) 谈到了编程语言(如本网站所做的那样),但在 wikipedia 中为一般逻辑指定了更常见的优先级:
https://en.wikipedia.org/wiki/Logical_connective#Order_of_precedence
(A) 和 (B 或 C)
and 表示交集或“喜欢”联合
就像在数学中
“AND”就像一个乘数,“OR”就像一个总和
在“真值表”中
或
一个 | 乙| 结果
为真 | 真实 | 真真
| 假 | 真真
| 假 | 真假
| 假 | 错误的
和
一个 | 乙| 结果
为真 | 真实 | 真真
| 假 | 假
真| 假 | 假假
| 假 | 错误的