Noip中的逻辑表达式计算(初赛必考)
例
1. 设A=B=D=true,C=false,以下逻辑运算表达式值为真的有( )。
A. (¬ A∧B)∨(C∧D) B.¬ ((A∨B∨D)∧C)
C. ¬ A∧(B∨C∨D) D. (A∧B∧C)∨ ¬ D
2.设A=B=True,C=D=False,一下逻辑运算表达式值为假的有( )。
A.(﹁A∧B)∨(C∧D∨A) B.﹁(((A∧B)∨C)∧D)
C.A∧(B∨C∨D)∨D D.(A∧(D∨C))∧B
逻辑运算符
运算符 运算 运算对象 结果类型 符号
not 逻辑非 布尔型 布尔型 ¬
and 逻辑与 布尔型 布尔型 ∧
or 逻辑或 布尔型 布尔型 ∨
xor 逻辑异或 布尔型 布尔型
运算法则:
操作数A :boolean 运算符 not 表达式 not A
|
A |
result |
|
T |
F |
|
F |
T |
操作数A :boolean B:Boolean 运算符 and 表达式 A and B (A∧B)
|
A |
B |
Result |
|
T |
T |
T |
|
T |
F |
F |
|
F |
T |
F |
|
F |
F |
F |
And 只有两个都是真时结果才是真。
操作数A :boolean B:Boolean 运算符 or 表达式 A or B (A∨B)
|
A |
B |
Result |
|
T |
T |
T |
|
T |
F |
T |
|
F |
T |
T |
|
F |
F |
F |
or 只要有一个真时结果就是真。
xor
异或,二进制运算.可逆运算.1 xor 1=0, 0 xor 0=0, 1 xor 0=1, 0 xor 1=1.
a xor b的运算方法:将a,b 转化为2进制数,再进行对比,每个数位上的0或1如果相同,那么结果就取0,如果不同就取1,将得到的结果转化为原来进制的数,就是结果.一句话:只有当两个不相等时才为真。
在 oi中,常用于位运算
当逻辑运算的对象是数字时,应该先转化为2进制数,在进行运算。1表示真,0表示假。
例如:
1、在Pascal语言中,表达式 (23 or 2 xor 5)的值是( )。
A.18 B.1 C.23 D.32
2、在 Pascal 语言中,表达式 (21 xor 2)的值是( )
A. 441 B. 42 C.23 D.24
浙公网安备 33010602011771号