EDA365电子论坛网
标题:
MATLAB运算符逻辑或与逻辑非谁优先啊?
[打印本页]
作者:
busahuang
时间:
2020-5-14 17:19
标题:
MATLAB运算符逻辑或与逻辑非谁优先啊?
MATLAB运算符逻辑或与逻辑非谁优先啊?
7 E- r+ v S; h: O* W, ^, q
z = 1|0&1为什么等效于 z = (1|0)&1
9 T, J% C6 e" i9 x* C: l
作者:
duck
时间:
2020-5-14 17:42
MATLAB 在执行含有关系运算和逻辑运算的数学运算时,同样遵循一套优先级原则。原则规定:MATLAB 首先执行具有较高优先级的运算,其次执行具有较低优先级的运算;如果两个运算的优先级相同,则按从左到右的顺序执行。 一般情况下,在一个表达式中,算术运算符优先级最高,其次是关系运算符,最后是逻辑运算符。如果需要,可以通过括号来改变运算顺序。 MATLAB 中具体的运算符优先级排列如下表所示。 MATLAB 运算符优先级一览表 优先级 运算符 优先级高低 1 圆括号 ( ) 2 矩阵转置和乘方:转置(.')、共轭转置(')、乘方(.^)、矩阵乘方(^) 3 一元加法(+)、—元减法(-)、取反(~) 4 乘法(.*)、矩阵乘法(*)、右除(./)、左除(.\)、矩阵右除(/)、矩阵左除(\) 5 加法(+)、减法(-)、逻辑非(~) 6 冒号运算符(:) 7 小于(<)、小于等于(<=)、大于(>)、大于等于(>=)、等于(==)、不等于(~=) 8 逐元素逻辑与(&) 9 逐元素逻辑或(|) 10 避绕式逻辑与,或者捷径逻辑与(&&) 11 避绕式逻辑或,或者捷径逻辑或(||) 用过其他编程语言的用户可以知道,上表中的优先级顺序与大多数计算机编程语言基本相似。用户可以使用括号任意改变上表的运算优先级顺序,但同一级括号内部仍遵循上表中的优先级顺序。 可以利用下面的代码验证逻辑与&和逻辑或|的优先级: >> 4|2&1 ans = 1 >> 5|(3&2) ans = 1
作者:
leleeda
时间:
2020-5-14 18:05
逻辑或和逻辑非是等价的,地位平等,所以是从左到右运算。
作者:
naimei
时间:
2020-5-15 10:31
非最优先,与其次,最后是或。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2