逻辑代数是分析和设计逻辑电路的数学基础,有完整的运算规则,包括公理、定理和定律。被广泛地应用于开关电路和数字逻辑电路的变换、分析、化简和设计上,因此也被称为开关代数。随着数字技术的发展,逻辑代数已经成为分析和设计逻辑电路的基本工具和理论基础。

1.逻辑运算

逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。(在linux系统中是相反的如果结果为“0”,那么这个表达式为对,如果结果非“0”,那么这个表达式为错。)


2.基本逻辑运算

  • 与运算:

决定某一事件的所有条件都具备时,该事件才会发生。以下面电路图为例:

 046de443d22e439a98191a40993cb2da.png

 当A、B都满足闭合条件时,灯Y才会亮。称A、B关系为“”。在二进制中,与运算规则为:0&0=0;   0&1=0;
                               1&0=0;   1&1=1;

即:两位同时为“1”,结果才为“1”,否则为0。对应真值表为下图:

d35967e1e4064dedb14cd633d139d62c.jpg

逻辑表达式为:Y=A·B 或Y=AB

逻辑符号为下图,并称之为“与门”。

0a1bb5d7f8fb415fa4c49799550b099a.png

  •  或运算:

决定某一事件的诸多条件中,只要有一条或以上满足时,该事件就会发生。以下面电路图为例:

0fe06be4d59347e8a1dfca2dcb41abac.jpg

 当开关A、B都闭合或一个闭合时,灯Y就会亮。对应真值表如下:

dee9a8ac00d8403e86818a2463675da7.jpg

逻辑表达式:Y=A+B

逻辑符号如下图所示,将其称之为“或门”。

 fb6ff045370b479eab61f54dd877132e.png

  •  非运算:

某一事件某条件具备时,事件不会发生。以电路图为例:

c262aa33faa341708418a02ce9b6ff68.png

当开关A闭合时,小灯Y就不会亮。对应真值表如下:

AY
01
10

逻辑表达式为:Y=\bar{A}

逻辑符号如下图,将其称之为“非门”,也称之为“反相器”。(注意输出Y处多了个小圆圈)

e31b339a196c4f9eb2791bf365f19e98.png


3.复合逻辑运算

将与、或、非3种运算组合起来,构成的运算叫做“复合逻辑运算”。以下对一些复合逻辑运算做一些简单介绍。

  • 与非运算(NAND):

运算先后级:先与后非

相关真值表、逻辑表达式、逻辑符号如下所示:

fe0aa23600854b028ca856025a275512.png

  •  或非运算(NOR):

运算先后级:先或后非

相关真值表、逻辑表达式、逻辑符号如下所示:

14087b348c0e44849879342625000846.png

  •  异或运算(XOR):

真值表、逻辑表达式、逻辑符号如下所示:

0882e8e025b94b49b7420d3bed846370.png

  •  同或运算(XNOR):

真值表、逻辑表达式、逻辑符号如下所示:

f211d100fab647d089e1846219f9418e.png

  •  与或非运算:

运算先后级:先与后或再非

逻辑符号和逻辑表达式如下:

86f12c82f76d4b1086b5569a9c1c5a26.png

  • 逻辑符号对照:

fab0d83a697b4b5c8a70255c626495fd.png


4.逻辑代数基本定律

e6f067cc696d4742a920da46838e90fd.jpg


5.逻辑代数基本规则

  • 代入规则:

任何一个含有变量 X 的等式,如果将所有出现 X 的位置,都代之以一个逻辑函数 F,此等式仍然成立。

例:

8ee04e47142a4101b8a5baa5ee2eb613.png

  • 反演规则:

 当已知一个逻辑函数F,把 F 中的所有 “·” 变成 “+”,“+” 变成 “·”,“0”变成 “1”,“1”变成 “0”,原变量变成反变量,反变量变成原变量,即得到反函数。

运用反演规则时必须注意一下两个原则:(1)保持原来的运算优先级,并注意优先考虑括号内的运算。(2)对于反变量以外的非号应保留不变。

例:

bbf4fc65a11142fc8265970591d21943.png

  •  对偶规则:

设 F 是一个逻辑函数式,如果将 F 中的所有的 “·”变成 “+”,“+”变成 “·”,“0” 变成 “1”,“1” 变成 “0”,而变量保持不变。那么就的得到了一个逻辑函数式 F',这个 F' 就称为 F 的对偶式。如果两个逻辑函数F 和 G 相等,则它们各自的对偶式F' 和 G' 也相等。

例:

49ef766fc615435fa851deca9ea22880.png

  • 香农展开定理:

指任何一个逻辑函数f(x_{1},x_{2}, ... ,x_{i-1},x_{i},x_{i+1}, ... ,x_{n})都可以重新表达为:

f(x_{1},x_{2}, ... ,x_{i-1},x_{i},x_{i+1}, ... ,x_{n})

= \bar{x_{i}}\cdot f(x_{1},x_{2}, ... ,x_{i-1},0,x_{i+1}, ... ,x_{n}) + x_{i}\cdot f(x_{1},x_{2}, ... ,x_{i-1},0,x_{i+1}, ... ,x_{n})

例如:L(A,B,C)=AB+BC+AC

按照香农展开定理:L(A,B,C)=\bar{A}\cdot L(0,B,C)+A\cdot L(0,B,C)=\bar{A}\cdot (BC)+A\cdot (B+C)


6.逻辑函数表示方法

逻辑函数定义表达式为:F=f(A1,A2,……An)    是用以描述数字逻辑系统输出与输入之间的逻辑关系的表达式。其中:A1,A2,...,An为输入逻辑变量,取值是0或1;F为输出逻辑变量,取值是0或1;F称为A1,A2,...,An的输出逻辑函数。逻辑函数有“最小项之和”及“最大项之积”两种标准形式。

  • 逻辑函数的标准表达式:

最小项:若一个与项包含该逻辑函数全部变量,且每个变量只出现一次,则称该与项为最小项。   对n个变量有2的n次方个最小项。

例:对A、B、C,最小项可为:ABC,但BC、AABC不是最小项。

最小项编号:通常用 mi 表示,下标“i”即最小项编号,用十进制表示。将最小项中的原变量用1表示,非变量用0表示,得到一组二进制数,将二进制数转换为十进制,可得到最小项的编号。

最小项表达式(标准与或表达式 / 最小项之和表达式):利用逻辑函数的基本公式,可以把任意一个逻辑函数化成若干个最小项之和的形式,且这种形式是唯一的。

例:

3bfd8f5349ae4e8fadf77a2a95776611.png

  •  真值表:

真值表:表征逻辑事件输入和输出之间全部可能状态的表格。列出命题公式真假值的表。通常以1表示真,0 表示假。命题公式的取值由组成命题公式的命题变元的取值和命题联结词决定,命题联结词的真值表给出了真假值的算法。

8bcf012848b04267a9fc858afe1db4c1.jpg

 真值表转换为逻辑表达式:①找到函数值为“1”的项。   ②将输入变量取值为“1”的用原变量代替,取值为“0”的用反变量代替,得到一系列与项    ③将这些与项相加(相或)

例:

500a9e183972416998819fd21307be25.png

  •  逻辑图:

由逻辑符号与连线构成的电路图,一般根据逻辑式画出。

  • 波形图:

一种表示输入输出变量动态变化的图形,反映了函数值随时间变化的规律。一般在图中不用标出坐标轴,但输入输出变量要相应画出。如下图所示:

449af845af7c44c481d3fb5a861c020e.png

  •  卡诺图:

卡诺图是逻辑函数的一种图形表示。一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个方格图内,此方格图称为卡诺图。

卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐