逻辑运算符

逻辑运算符连接一个或两个变量,构成逻辑运算表达式。逻辑运算符用于判断对象或对象之间的某种逻辑关系。

【MATLAB】

假设有下面3个数组和矩阵:

code.matlab
A=[0 1 1 0 1];
B=[1 1 0 0 1];
C=[0 1 2;
   03 8;
   0 5 0];

表3-5列出了各种运算符及对应函数的逻辑运算结果。

表3-5 逻辑运算符

运算符 函 数 描 述 示 例
& and 两个数组中相同位置的值都为非0时返回1,否则返回0 A & B=01001 或 and(A,B)
| or 两个数组中相同位置的值有一个为非0时返回1,否则返回0 A | B=11101 或 or(A,B)
~ not 对数组中的元素取反,即非0值变为0,0变为1 ~A=10010 或 not(A)
xor 两个数组中相同位置的元素只有一个为非0时返回1,否则返回0 xor(A,B)=10100
any(C) 如果向量中有任何一个元素为非0,则返回1;否则返回0 any(C) ans= 0 1 1
all(C) 如果向量中所有元素为非0,则返回1,否则返回0 all(C) ans= 0 1 0
&& 如果符号两端的表达式均为真,则返回true(1);否则返回0 a=8; a>5 && a<10 ans= 1
|| 如果符号两端的表达式有一个为真,则返回true(1);否则返回0 a=11; a>5 || a<10 ans= 1

下面给定3个数,取前两个数比较大小,再取后两个数比较大小,然后用逻辑与运算判断这两个比较运算表达式是否都成立。

code.matlab
>> a=10;b=20;c=30;
>> a<b && b<c
ans =
  logical
   1

【Python】

Python中的逻辑运算符如表3-6中所示,其中a和b为布尔型变量。

表3-6 逻辑运算符

运算符 说 明 表达式
not 非运算。True取反值为False,False取反为True。 not a
and 与运算。当左右操作数都为True时,结果为True,否则为False。 a and b
or 或运算。左右操作数只要一个为True,结果为True。只有两个操作数的值都为False时,运算结果为False。 a or b
^ 异或运算。当左右操作数都为True或False时,结果为False,否则为True。 a^b

下面给定3个数,取前两个数比较大小,再取后两个数比较大小,然后用逻辑与运算判断这两个比较运算表达式是否都成立。

code.python
>>> a=10;b=20;c=30
>>> a<b and b<c
True