MATLAB中的逻辑运算符&和&&逻辑运算符有什么区别?
3 回答
![?](http://img1.sycdn.imooc.com/545868b60001587202200220-100-100.jpg)
翻阅古今
TA贡献1780条经验 获得超5个赞
单个&符是逻辑AND运算符。双&符&&还是一个逻辑AND运算符,采用短路行为。短路仅表示仅当第一个操作数(左侧)未完全确定结果时才评估第二个操作数(右侧)
A和B(评估A和B)
A && B(仅当A为真时才评估B)
![?](http://img1.sycdn.imooc.com/54584cfb0001308402200220-100-100.jpg)
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
正如其他人已经提到的,&
是逻辑AND运算符,&&
是短路AND运算符。它们在操作数的求值方式以及是否对数组或标量进行操作方面有所不同:
&
(AND运算符)和|
(OR运算符)可以按元素方式对数组进行运算。&&
和||
是短路版本,仅当结果未完全由第一个操作数确定时才评估第二个操作数。它们只能在标量上运行,而不能在数组上运行。
![?](http://img1.sycdn.imooc.com/5333a1bc00014e8302000200-100-100.jpg)
幕布斯6054654
TA贡献1876条经验 获得超7个赞
与其他语言类似,&是逻辑按位运算符,&&而是逻辑运算。
例如(请原谅我的语法)。
如果..
A = [True True False True]
B = False
A & B = [False False False False]
..要么..
B = True
A & B = [True True False True]
对于&&,仅当左操作数为true时才计算右操作数,并且结果是单个布尔值。
x = (b ~= 0) && (a/b > 18.5)
希望很清楚。
- 3 回答
- 0 关注
- 1744 浏览
添加回答
举报
0/150
提交
取消