应用布尔优先顺序

时间:2011-02-28 16:54:28

标签: search boolean-logic

我只想澄清我对如何在表达式中应用布尔优先顺序的理解。我将使用以下优先顺序给出一个示例:

1) NOT
2) AND
3) OR

鉴于表达式A NOT B AND C,我知道将首先评估NOT。但是,这会应用于表达式(B AND C)的其余部分,还是仅应用于下一个标记B

我目前的理解是它是前者所以应该将其评估为A NOT (B AND C)。这是对的吗?

由于

1 个答案:

答案 0 :(得分:3)

布尔运算符没有普遍认可的优先顺序,因此它将取决于执行解析的人员或内容。对于任何给定的计算机语言,应在语言文档中明确定义。另请注意,NOT是一元运算符(具有从右到左的关联性),因此上面的示例实际上不是有效的布尔表达式。

可以说,由于布尔运算符在普通算术中具有类似性,因此我们应该使用类似的优先顺序。在这种情况下,NOT(类似于一元否定)将具有最高优先级,然后AND(乘法),然后OR(加法)。