我正在用 Javascript 为 boolean 逻辑编写调车场算法,但遇到了操作顺序问题。我允许的操作是:
and, or, implies, equals(biconditional), not, xor, nor, nand
但是,我不知道这些的优先级是什么。截至目前,我有:
not>equals>implies>xor>nor>nand>or>and
这是正确的吗?有没有我可以使用的标准,类似于数字的 PEMDAS/BODMAS 系统?
最佳答案
您很难找到这些 JavaScript 运算符的优先级定义的原因是:
<醇>and &
or |
implies →
equals (biconditional) ↔
not !
xor ⊕
nor ⊽
nand ⊼
来自 "Foundations of Computer Science"作者:杰弗里·乌尔曼
逻辑运算符的结合性和优先级
我们将使用的优先顺序是
1. 不(最高)
2. 与非门
3. 也非
4. 和
5. 或者
6.暗示
7. 双条件(最低)
来自 Mathematica
不是
和
与非门
异或
或者
或非
等效
暗示
关于javascript - 标准 boolean 运算顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20147722/