逻辑运算详解.docx
文本预览下载声明
括号非与或、异或 (or和xor是同级的)
非:not ? 与:and ∧ 或:or ∨ 异或:xor ⊕
逻辑加法通常用符号+或∨来表示。逻辑加法运算规则如下:
0+0=0, 0∨0=0
0+1=1, 0∨1=1
1+0=1, 1∨0=1
1+1=1, 1∨1=1
从上式可见,逻辑加法有或的意义。也就是说,在给定的 HYPERLINK /doc/5734443-5947187.html \t _blank 逻辑变量中,A或B只要有一个为1,其逻辑加的结果就为1;只有当两者都为0时逻辑加的结果才为0。
HYPERLINK /doc/6959542-7182053.html 逻辑乘法与运算
逻辑乘法通常用符号×或∧或·来表示。逻辑乘法运算规则如下:
0×0=0, 0∧0=0, 0·0=0
0×1=0, 0∧1=0, 0·1=0
1×0=0, 1∧0=0, 1·0=0
1×1=1, 1∧1=1, 1·1=1
不难看出,逻辑乘法有与的意义。它表示只当参与运算的 HYPERLINK /doc/5734443-5947187.html \t _blank 逻辑变量都同时取值为1时,其逻辑乘积才等于1。
HYPERLINK /doc/6959542-7182053.html 逻辑否定非运算
逻辑非运算又称逻辑否运算。其运算规则为:
0=1 非0等于1
1=0 非1等于0
(半加运算)
异或运算通常用符号⊕表示,其运算规则为:
0⊕0=0 0同0异或,结果为0
0⊕1=1 0同1异或,结果为1
1⊕0=1 1同0异或,结果为1
1⊕1=0 1同1异或,结果为0
即两个逻辑变量相异,输出才为1
例题1.若A=True,B=False,C=True,D=False,以下逻辑运算表达式真的有( )。
A.(A∧B)∨(C∧D ∨? A) B.((? A ∧ B)∨ C)∧ ? B
C.(B∨C∨D)∨D∧A D.A ∧(D ∨? C)∧B
题解:一个个算结果,比如A选项(A∧B)∨(C∧D ∨ ? A) ,根据运算级的比较,我们可以定下运算的顺序,然后按运算顺序计算结果。注意,这类题是有个小技巧的。比如A选项可以先看中间的∨,为什么呢?因为∨的左右有一边是真就行,可以不去看另外一边。
A选项的结果是:(A∧B)∨(C∧D ∨? ),(A∧B)=假,(C∧D ∨? A)中C∧D =假,? A=假,所以(C∧D ∨? A)=假。于是A选项可以简写为:假∨(假 ∨假)= 假。
B选项的结果是:((? A ∧ B)∨ C)∧? B,如果? B是假那么就可以不去看前面的((? A ∧ B)∨ C),可惜的是?B是真,那么就要看((? A ∧ B)∨ C),发现C是真,所以不看(? A ∧ B),于是B选项可以简写为:(?∨ 真)∧ 真 = 真。
C选项的结果是:(B∨C∨D)∨D∧A ,D∧A=假,所以不得不看前面部分(B∨C∨D),只要BCD有一个是真,那么(B∨C∨D)=真,而容易发现C=true。所以C选项可以简写为:真 ∨ 假 = 真。
D选项的结果是:A ∧(D ∨? C)∧B,我们很容易发现D选项的特殊结构为 ?∧?∧?,三个?有一个是假,那么D为假,A和B不用计算便可看出,所以先发现B=假,所以D=假。
例题2.计算23 +2 or 2 and 5 * 3 - 6 xor 5=( )。
题解:数字也有逻辑运算,当然也可以混合加减乘除。
这里举例说明运算的操作:
and:22 and 5
22: 10110 10110
5: 101 (缺位补零) 00101
(垂直对应两位and运算) 00100 = 4
or:22 or 5
22: 10110 10110
5: 101 (缺位补零) 00101
(垂直对应两位o r运算) 00100 = 4
2004提高
1、设全集I = {a, b, c, d, e, f, g},集合A = {a, b, c},B = {b, d, e},C = {e, f, g},那么集合为( )。 A
A. {a, b, c, d} B. {a, b, d, e} C. {b, d, e} D. {b, c, d, e} E. {d, f, g}
题解:2004和2005都出现了集合运算,虽然后来没有再出现,但集合的运算还是需要掌握的。
并运算:;交运算:;差运算:;非运算:(区别于逻辑非运算:)
并运算:比
显示全部