-
2019-07-19 11:48:48
逻辑表达式三种化简方法
- 目录:
① 公式化简法
② 卡诺图化简法
③ 机器化简法一、公式法化简:是利用逻辑代数的基本公式,对函数进行消项、消因子。常用方法有:
①并项法 利用公式AB+AB’=A 将两个与项合并为一个,消去其中的一个变量。
②吸收法 利用公式A+AB=A 吸收多余的与项。
③消因子法 利用公式A+A’B=A+B 消去与项多余的因子
④消项法 利用公式AB+A’C=AB+A’C+BC 进行配项,以消去更多的与项。
⑤配项法 利用公式A+A=A,A+A’=1配项,简化表达式。二、卡诺图化简法
逻辑函数的卡诺图表示法
将n变量的全部最小项各用一个小方块表示,并使具有逻辑相邻性的最小项在几何位置上相邻排列,得到的图形叫做n变量最小项的卡诺图。
逻辑相邻项:仅有一个变量不同其余变量均相同的两个最小项,称为逻辑相邻项。
1.表示最小项的卡诺图
将逻辑变量分成两组,分别在两个方向用循环码形式排列出各组变量的所有取值组合,构成一个有2n个方格的图形,每一个方格对应变量的一个取值组合。具有逻辑相邻性的最小项在位置上也相邻地排列。
用卡诺图表示逻辑函数:
方法一:1、把已知逻辑函数式化为最小项之和形式。
2、将函数式中包含的最小项在卡诺图对应 的方格中填 1,其余方格中填 0。
方法二:根据函数式直接填卡诺图。
用卡诺图化简逻辑函数:
化简依据:逻辑相邻性的最小项可以合并,并消去因子。
化简规则:能够合并在一起的最小项是2n个。
如何最简: 圈数越少越简;圈内的最小项越多越简。
注意:卡诺图中所有的 1 都必须圈到, 不能合并的 1 单独画圈。
说明,逻辑函数的化简结果可能不唯一。
合并最小项的原则:
1)任何两个相邻最小项,可以合并为一项,并消去一个变量。
2)任何4个相邻的最小项,可以合并为一项,并消去2个变量。
3)任何8个相邻最小项,可以合并为一项,并消去3个变量。
卡诺图化简法的步骤:
画出函数的卡诺图;
画圈(先圈孤立1格;再圈只有一个方向的最小项(1格)组合);
画圈的原则:合并个数为2n;圈尽可能大(乘积项中含因子数最少);圈尽可能少(乘积项个数最少);每个圈中至少有一个最小项仅被圈过一次,以免出现多余项。
写出最简与或表达式三、逻辑函数的机器化简法
其基本原理是通过逐级合并相邻最小项并消去多余因子,其原理跟卡诺图化简法类似
更多相关内容 -
LogicExpressionsCalculator:逻辑表达式的计算器,例如
2021-07-11 09:14:56逻辑表达式计算器 逻辑表达式的计算器,例如:and,or... 这个Android应用程序是一个逻辑表达式计算器,它可以让您计算逻辑表达式的答案:例如:“p -> (qvr)”并根据变量的值(真或假)为您提供答案 目前,它是... -
逻辑函数化简软件
2013-08-20 21:17:524变量卡诺图化简软件 根据真值表自动化简成最简与或表达式 电子技术基础 数字部分 课程设计 作业 -
逻辑设计基础_第2周-布尔代数及表达式化简
2021-08-31 08:45:50 -
逻辑函数公式化简器
2014-07-23 12:01:26该软件可以快速地化简用大写字母作为逻辑变量的多变量复杂与或非逻辑表达式至最简形式,支持多级括号嵌套。 -
卡诺图化简逻辑表达式
2020-07-17 10:13:03一、最小项与卡诺图 1.最小项的定义 特点:每项都有n个变量, 每个乘积它中每个变量出现且仅出项1次 最小项具有下列性质: (1)对于任意一个最小项,只有一组变量取值使得它的值为1,而在变量取其他各组值时,这个... -
逻辑表达式
2021-07-25 02:37:41用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即“true”或“false”。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在...用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即“true”或“false”。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以0表示“假”,以非0表示“真”。
中文名
逻辑表达式
外文名
logic expression
学 科
数理科学类 型
数学术语
应用时间
20世纪30年代
逻辑运算
又称布尔运算
逻辑表达式逻辑运算
编辑
语音
逻辑运算,又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。
逻辑表达式简介
编辑
语音
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。逻辑表达式的值是一个逻辑值,即“true”或“false”。C语言编译系统在给出逻辑运算结果时,以数字1表示“真”,以数字0表示“假”,但在判断一个量是否为“真”时,以0表示“假”,以非0表示“真”。
可以将逻辑表达式的运算结果(0或1)赋给整型变量或字符型变量。
c语言中,等于是“==”,不等于是“!=”。
Pascal语言中,等于是“=”,不等于是“<>"
逻辑表达式浮点数的注意
编辑
语音
由于浮点数在计算机中不能非常准确地表示,所以,判断两个浮点数是否相同时,通常不使用关系运算符“等于”(==),而是利用区间判断方法来实现。为了判断x是否等于5.003,可利用如下逻辑表达式:
x>5.002 && x<5.004
当此逻辑表达式为“真”时,就可以认为x等于5.003
逻辑及性质保真性:所有变量的真值皆为“真”的命题在逻辑或运算后的结果为真。保假性:所有变量的真值皆为“假”的命题在逻辑或运算后的结果为假。
逻辑表达式相关改进
编辑
语音
在通常的数字逻辑电路的设计、教学中,用布尔代数法进行逻辑表达式的运算及简化时人们一般需要掌握布尔代数的基本定律、结合律、交换律、分配律、互补律、0一1律、吸收律、还原律、狄摩根定理、分解定理等;以及一些规则,例如代入规则、反演规则、对偶规则及一些常用的恒等式等.简化时还可能要用到并项法、吸收法、消去法及配项法、卡诺图等等技巧.总之能否得到例如最简的逻辑表达式,全凭经验及逻辑运算的熟练程度.特别是在进行与或表达式和与异表达式之间的转换与简化时通常无一般规律可循,较不易把握。利用卡诺图虽然对于变量较少晰U如不多于4个变量的情况)的与一或、或与表达的简化较有效,但对于较多变量以及与或表达式和与异表达式之间的转换与简化似乎也有点不知所措。
张文龙在设计实践和教学中发现,如果使用推广的吸收律、广义还原律和分解定理等有关的公式,将能更简便地简化逻辑表达式,往往使得似乎无从下手的逻辑简化问题能找到一种有效的出路。[1]
广义吸收律:
逻辑表达式常用逻辑门实用知识
编辑
语音
(1)与门
与门(英语:AND gate)又称“与电路”、逻辑“积”、逻辑“与”电路。是执行“与”运算的基本逻辑门电路。有多个输入端,一个输出端。当所有的输入同时为高电平(逻辑1)时,输出才为高电平,否则输出为低电平(逻辑0)。
逻辑表达式:F=AB.
(2)或门
或门(OR gate),又称或电路、逻辑和电路。如果几个条件中,只要有一个条件得到满足,某事件就会发生,这种关系叫做“或”逻辑关系。具有“或”逻辑关系的电路叫做或门。或门有多个输入端,一个输出端,只要输入中有一个为高电平时(逻辑“1”),输出就为高电平(逻辑“1”);只有当所有的输入全为低电平(逻辑“0”)时,输出才为低电平(逻辑“0”)。
逻辑表达式:F=A+B.
(3)非门
非门(英文:NOT gate)又称非电路、反相器、倒相器、逻辑否定电路,简称非门,,是逻辑电路的基本单元。非门有一个输入和一个输出端。当其输入端为高电平(逻辑1)时输出端为低电平(逻辑0),当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。非门的逻辑功能相当于逻辑代数中的非,电路功能相当于反相,这种运算亦称非运算。
逻辑表达式:
(4)与非门
与非门(英语:NAND gate)是数字电路的一种基本逻辑电路。若当输入均为高电平(1),则输出为低电平(0);若输入中至少有一个为低电平(0),则输出为高电平(1)。与非门可以看作是与门和非门的叠加。
逻辑表达式:
(5)或非门
或非门(英语:NOR gate)是数字逻辑电路中的基本元件,实现逻辑或非功能。有多个输入端,1个输出端,多输入或非门可由2输入或非门和反相器构成。只有当两个输入A和B为低电平(逻辑0)时输出为高电平(逻辑1)。也可以理解为任意输入为高电平(逻辑1),输出为低电平(逻辑0)。
逻辑表达式:
(6)异或门
异或门 (英语:Exclusive-OR gate,简称XOR gate,又称EOR gate、ExOR gate)是数字逻辑中实现逻辑异或的逻辑门。有多个输入端、1个输出端,多输入异或门可由2输入异或门构成。若两个输入的电平相异,则输出为高电平1;若两个输入的电平相同,则输出为低电平0。亦即,如果两个输入不同,则异或门输出高电平。
逻辑表达式:
(7)同或门
同或门(英语:XNOR gate或equivalence gate)也称为异或非门,是数字逻辑电路的基本单元,有2个输入端、1个输出端。当2个输入端中有且只有一个是低电平(逻辑0)时,输出为低电平。亦即当输入电平相同时,输出为高电平(逻辑1)。[2]
逻辑表达式:
参考资料
1.
张文龙. 逻辑表达式的简化和转换方法的改进[J]. 上海师范大学学报(自然科学版), 2010, 39(1):56-60.
2.
John F.Wakerly.数字设计 原理与实践(原书第3版):机械工业出版社,2003
-
我在偷偷学Python第六天(算术表达式/逻辑表达式/关系表达式)
2020-11-25 21:43:31算术表达式 算术运算符用于对操作数进行各种算术运算。Python 中的算术运算符如表所示。 在Python 3 中,除法运算符(/)永远返回一个浮点数,因此5/2 的结果将为2.5。 表达式中最常见也最基础的一类就是算术...算术表达式
算术运算符用于对操作数进行各种算术运算。Python 中的算术运算符如表所示。
在Python 3 中,除法运算符(/)永远返回一个浮点数,因此5/2 的结果将为2.5。
表达式中最常见也最基础的一类就是算术表达式。在Python 中编写一个算术表达式十分简单,就是使用运算法与括号对数学表达式进行直接转换。
例如,数学表达式
可被转换为如下Python 表达式:5 * (27 * x – 3) / 12 + ((10 * y + 7) / 9) ** 2首先执行括号内的运算,内层括号优先被执行;然后执行幂运算(**);再计算乘法(*)、除法(/和//)及求模运算(%);最后计算加法(+)和减法(-)。
只要在表达式之前定义变量x 与y 的值即可计算出此式的值。代码 演示了如何在Python 中计算这一表达式的值并输出。x = 1 2 y = 2 3 print 5 * (27 * x – 3) / 12 + ((10 * y + 7) / 9) ** 2 【输出结果】 19
------------------逻辑表达式--------------------
逻辑运算符:not,and,or
语法 :not /not x
在python中not是逻辑判断词,用于布尔型True和False,not True为False,not False为True,
作用:
对x进行布尔取反/取非
非真即假,非假即真
如bool(x)为True,not x 则为False
如bool(x)为False,not x 则为True示例: #判断元素是否在列表或者字典中,if a not in b,a是元素,b是列表或字典,这句话的意思是如果a不在列表b中,那么就执行冒号后面的语句 a = 1 b = [3,4,5,6,9,11] c = [1,5,6] if a not in b: print("不在列表中") #自己试一试 if a not in c:如果在列表中 则是不返回值
if x is not None
是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。
使用if not x这种写法的前提是:必须清楚x等于None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()时对你的判断没有影响才行。foo is None 和 foo == None的区别
if foo is None: pass if foo == None: pass 如果比较相同的对象实例,is总是返回True 而 == 最终取决于 "eq()" >>> class foo(object): def __eq__(self, other): return True >>> f = foo() >>> f == None True >>> f is None False >>> list1 = [1, 2, 3] >>> list2 = [1, 2, 3] >>> list1==list2 True >>> list1 is list2 False 另外 (ob1 is ob2) 等价于 (id(ob1) == id(ob2))
------------------关系表达式--------------------------
关系运算符优先级:<、<=、>、>=四个运算符的优先级相等,、!=的优先级相等。而<、<=、>、>=优先级大于、!=。
x = 5 y = 2 print(x<y) print(x>y) print(x<=y) print(x>=y) print(x==y) print(x!=y)
总结
- 算数运算符和算数表达式
算数运算符 算数表达式 + 加法运算 x+y - 减法运算 x-y *乘法运算 x*y / 除法运算 x/y %求模运算 x%y **求幂运算 x**y // 整除运算 x//y - 逻辑运算符和逻辑表达式
逻辑运算符 逻辑表达式 【and】 逻辑与,当x为True时才计算y x and y 【or】逻辑或,当xFalse时才计算 x||y 【not】逻辑非 not x 逻辑非的优先级大于逻辑与和逻辑或,而逻辑与和逻辑或优先级相等。逻辑运算符优先级低于关系运算符,必须先计算关系运算符,然后再计算逻辑运算符。
print(not True) #False print(False and True) #False print(True and False) #False print(False or True) #True print(True or False) #True x = 5 y = 0 print(not x and y) #False print(not(x and y)) #True print(x>y and False or True) #True print(x<y and x>y) #False print(x<y or x>y) #True
- 关系运算符和关系表达式
关系运算符 关系表达式 < 小于 x<y > 大于 x>y >= 大于等于 x>=y <=小于等于 x<=y == 等于 x==y != 不等于 x!=y 作者:Eamonze
时间:2020/11/25
沟通交流
-
数字电路 逻辑函数的化简之 公式化简法
2020-08-03 18:52:17并项法: AB + AB’ = A 两项合并为一项,消去B与B’ ...可以在逻辑函数中重复写入某一项,或如图乘上(A+A’) 在基本公式中我们能发现, 消项法公式较为复杂,在实际计算过程中,若无法一眼看出适用消项.. -
数字电子技术之逻辑函数的化简及表示
2020-05-24 23:21:40逻辑表达式,降低其规模,并进行相应变形,用更合理的函数式表达逻辑命题,以期用最少、最合理的门电路器件实现逻辑功能。 逻辑函数的化简原则: 逻辑电路所用的门最少 每个门的输入端要少 逻辑电路所用的级数要少 ... -
数字电子技术第二章--逻辑代数与逻辑函数化简
2022-04-12 13:33:16逻辑代数中的变量称为逻辑变量,用大写字母表示,逻辑变量的取值只有两种即逻辑0和逻辑1,逻辑0和逻辑1并不表示数量的大小,而是表示两种对立的逻辑状态。 逻辑函数 逻辑函数:如果对于输入逻辑变量A,B -
使用Java化简逻辑表达式
2020-04-08 13:09:20学习数字电路时候有化简逻辑表达式的题目,当时曾想过使用计算机化简,但是没有实际行动。 毕业五年后给别人补习功课再次接触到逻辑表达式的化简,就想写出这个程序来,本来以为不太复杂,结果代码写了近三天。。。 ... -
三人表决器逻辑表达式与非_数电实验 | 组合逻辑电路(半加器全加器及逻辑运算)...
2020-10-21 18:00:25实验仪器Multisim电路仿真74LS00 二输入端四与非门 3片 74LA86 二输入端四异或门 1片 74LS54 四组输入与或非门 1片实验目的掌握组合逻辑电路的功能测试。 验证半加器和全加器的逻辑功能。 学会逻辑分析仪的使用方法... -
数字电路逻辑关系式化简(代数运算)
2020-12-01 11:10:111.0-1律: 1’=0 , 0’=1 ; 0A=0 , 1+A=1; 1A=A , 0+A=A 2.重叠律:AA=A, A+A=A;... A’(AB)’=A’ 当A’和一个乘积项的非相乘,并且A为乘积项的因子时,其结果就等于A’ 以上公式应用于逻辑函数的化简,十分重要。 -
布尔逻辑代数化简公式
2021-12-29 15:22:200-1 定律 A+0=A A*0=0 A+1=1 A*1=A 重叠率 A+A=A A*A=A 还原律 (A')'=A 互补律 A+A'=1 A*A'=0 第二分布律 A+B*C=(A*B)+(A*C) 分析 : A=A*A A*A+B*C (A*B)+(A*C) ...(A*B)'=A'+B' -
逻辑化简方法
2021-12-30 19:49:15(6)用卡诺图化简逻辑函数 3、机器化简法 1、公式化简法 利用逻辑代数的基本公式,对函数进行消项、消因子。 ①并项法 利用公式AB+AB’=A 将两个与项合并为一个,消去其中的一个变量。 ②吸收法 利用公式A+... -
电路或非门公式化简与程序逻辑
2019-10-01 23:36:58Y=(A+B)'=A'*B' Y=(A*B)'=A'+B' Y=AB+BC=(A+C)*B 等等,例子:if((A&&B)||(B&&C))=if((A||C)&&B) 转载于:https://www.cnblogs.com/softcreator/articles/softcreator_8627557.html... -
有无关项的逻辑函数的化简
2020-02-26 15:42:00无关项 例题 上面用bcd码表示十进制数:后5项是无关项,用x或fn表示 -
逻辑运算及化简
2011-11-21 10:49:46它能按真值表方式输入各种逻辑条件,并指定各种组合的结果,自动化简为您所需要的逻辑表达式,并能根据标准...卡诺图法化简,见鬼去吧,用了这软件,逻辑问题再也不会烦到你睡不着觉,笨蛋也能精确地计算出逻辑表达式了 -
数字逻辑_逻辑函数化简(配项法)例子
2020-10-29 13:01:27利用第二吸收律配项的配项法化简逻辑函数: -
逻辑运算的化简
2015-11-28 12:00:10逻辑运算基本法则 -
python简化逻辑式
2019-12-20 21:58:52原来的if语句逻辑有点繁琐,或者说是写的很烦 if args.max_images > 0 and idx >= args.max_images: break pycharm中 if 语句是会有下划虚线的,Alt+Enter后,选择Simplify chained comparison即可 完事儿后... -
Python——简化表达
2022-04-23 00:19:29一、循环创建数组 x是[1,2,3],让y成为x中各元素的平方[1,4,9] 原始表达 X=[1,2,3] L=[] for i in X: L.append(i**2) 简化表达 X=[1,2,3] L=[i**2 for i in X] 经典错误示范 # 1. y没有成为一个列表 ...# 输 -
数字电路-逻辑式化简公式
2021-11-26 14:09:32 -
Q-M法(列表法)化简 C++ 实现
2022-03-17 16:32:42逻辑代数是学习数电基础。虽然实际过程中数字电路的自动化设计计数早已取代了手工处理过程,但是学习化简过程也具有重要的...),所以用C++ 写了在已知最小项和无关项情况下采用Q-M(列表化简)法,得出最简表达式。 -
数字电路逻辑化简公式
2021-03-05 16:29:211. A+BC=(A+B)(A+C) 2.AB+A'C+BC=AB+A'C AB+A'C+BCD=AB+A'C -
digital_logic根据一位全加器的真值表,画卡诺图,推到输出逻辑函数表达式
2020-11-30 11:20:22如果不易最简为目的画如下图所示的卡诺圈,经过推到,可以得到含异或的表达式. -
用Multisim 14.1实现逻辑函数的化简与变换
2021-03-03 19:20:52本文以使用Multisim 14.1求真值表对应的最简与或形式为例,介绍如何使用Multisim 14.1中的“逻辑转换器”完成逻辑函数的化简与变换。 启动Multisim 14.1,点击用户界面右侧的仪表工具栏中的“逻辑转换器”按钮,... -
用布尔代数简化下列各逻辑表达式
2019-11-29 11:18:42用布尔代数简化下列各逻辑表达式 (1)[F=A+ABC+AB‾⋅C‾+CB+C‾⋅B‾=A(1+BC)+(A+1)B‾⋅C‾+CB=A+B‾⋅C‾+CB][F = A + ABC + A\overline{B}·\overline{C} + CB + \overline{C}·\overline{B} = A(1 + BC) + (A ... -
逻辑函数化简方法
2021-03-20 17:36:17一、公式法化简:是利用逻辑代数的基本公式,对函数进行消项、消因子。常用方法有: ①并项法 利用公式AB+AB’=A 将两个与项合并为一个,消去其中的一个变量。 ②吸收法 利用公式A+AB=A 吸收多余的与项。 ③消因子法...