1.3 逻辑代数基础
逻辑代数又称布尔代数(Boolean Algebra),是研究逻辑电路的数学工具。逻辑代数与数学代数不同,逻辑代数不是研究变量大小之间的关系,而是分析研究变量之间的逻辑关系。
1.3.1 基本逻辑运算
逻辑运算共有三种基本运算:与、或、非。
1.逻辑与和与运算(AND)
(1)逻辑关系
逻辑与关系可用图1-3说明。只有当A、B两个开关同时闭合时,灯F才会点亮。即只有当决定某种结果的条件全部满足时,这个结果才能产生。
图1-3 逻辑与关系示意图
(2)逻辑表达式
F=A·B=AB
其中“·”表示逻辑与,“·”号也可省略。有些技术资料中也有用A∧B、A∩B表示逻辑与。逻辑与也称为逻辑乘。
(3)运算规则
①0·0=0
②0·1=1·0=0
③1·1=1
图1-4 逻辑与国家标准符号
上述运算规则可归纳为:有0出0,全1出1。
(4)逻辑电路符号
逻辑与的国家标准符号如图1-4所示,矩形框表示门电路,方框中的“&”表示逻辑与。
2.逻辑或和或运算(OR)
(1)逻辑关系
逻辑或可用图1-5说明,A、B两个开关中,只需要有一个闭合,灯F就会点亮。即决定某种结果的条件中,只需其中一个条件满足,这个结果就能产生。
图1-5 逻辑或关系示意图
(2)逻辑表达式
F=A+B
其中“+”表示逻辑或,有些技术资料中也有用A∨B、A∪B表示逻辑或。逻辑或也称为逻辑加。
(3)运算规则
①0+0=0
②0+1=1+0=1
③1+1=1
上述运算规则可归纳为:有1出1,全0出0。
(4)逻辑电路符号
图1-6 逻辑或国家标准符号
逻辑或电路符号可用图1-6表示,矩形框中的“≥1”表示逻辑或。
3.逻辑非和非运算
(1)逻辑关系
逻辑非可用图1-7说明,只有当开关A断开时,灯F才会点亮;开关A闭合时,灯F反而不亮。即条件和结果总是相反。
图1⁃7 逻辑非关系示意图
(2)逻辑表达式
读作“A非”。
(3)运算规则
①A=0,F=1
②A=1,F=0
(4)逻辑电路符号
图1-8 逻辑非国家标准符号
逻辑非符号可用图1-8表示,矩形框中的“1”表示逻辑值相同,小圆圈表示非逻辑。
4.复合逻辑运算
除与、或、非基本逻辑运算外,广泛应用的还有复合逻辑运算,由两种或两种以上逻辑运算组成,如表1-4所示。在此基础上,还可组合成更复杂的逻辑运算。
表1⁃4 复合逻辑门
需要指出的是,多种逻辑运算组合在一起时,其运算次序应按如下规则进行。
①有括号时,先括号内,后括号外。
②有非号时应先进行非运算。
③同时有逻辑与和逻辑或时,应先进行与运算。
例如,表1-4中异或运算逻辑表达式中,应先进行B和A的非运算;再进行和的与运算,最后进行和之间的或运算。
1.3.2 逻辑代数
1.逻辑代数的基本定律
①0-1律:A·0=0 A+1=1
②自等律:A·1=A A+0=A
③重叠律:A·A=A A+A=A
④互补律:
⑤交换律:A·B=B·A A+B=B+A
⑥结合律:A·(B·C)=(A·B)·C A+(B+C)=(A+B)+C
⑦分配律:A·(B+C)=AB+AC A+B·C=(A+B)(A+C)
⑧吸收律:A(A+B)=A A+AB=A
⑨反演律:
⑩非非律:
2.逻辑代数三项规则
逻辑代数除上述基本定律外,还有三项重要规则。
(1)代入规则
在任一逻辑等式中,若将等式两边所有出现同一变量的地方,代之以一个逻辑函数,则此等式仍然成立。
例如,若将F=BC代入中的B,证明等式仍然成立。
所以,等式成立。
上述证明还可以推广到n个变量的情况:
(2)反演规则
若将原函数F中的原变量变为反变量,反变量变为原变量,“·”变为“+”“+”变为“·”“1”变为“0”“0”变为“1”,则得到的新函数为原函数的反函数。
例如,异或门,F=,求其反函数同或门时可得:
(3)对偶规则
若将逻辑函数中的“·”变为“+”“+”变为“·”“1”变为“0”“0”变为“1”,则得到的新函数与原来的函数成对偶关系。
例如,上述基本定律①~⑨中的两个公式均符合对偶规则。
3.逻辑代数常用公式
在逻辑代数的运算、化简和变换中,除上述基本定律、规则外,还经常用到以下公式。
(1)
证明:根据分配律,
上式的含义是:如果两个乘积项,其中一个乘积项的部分因子恰是另一个乘积项的补,则该乘积项中的这部分因子是多余的。
(2)
证明:
上式的含义是:如果两个乘积项中的部分因子互补,其余部分相同,则可合并为公有因子。
(3)
证明:
上式的含义是:如果两个乘积项中的部分因子互补(如A和),而这个乘积项中的其余因子(如B和C)都是第三乘积项中的因子,则这个第三乘积项是多余的。
【例1⁃10】求证:
证明:
【例1⁃11】化简:
解:先求F的对偶式F′
再求F′的对偶式F
说明:上述化简也可按分配律展开为与或表达式,再加以化简。
【复习思考题】
1.10 逻辑代数中的“1”和“0”与数学代数中的“1”和“0”有否区别?
1.11 逻辑代数中的逻辑乘与数学代数中的乘法有否区别?
1.12 逻辑代数中的逻辑加与数学代数中的加法有否区别?
1.13 多种逻辑运算组合在一起时,其运算次序有什么规则?