看完这篇还不会化简卡诺图?你来打我

 

最通俗易懂的的卡诺图化简教程

首先我们来介绍一下什么是卡诺图:

卡诺图是逻辑函数的一种图形表示。一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个方格图内,此方格图称为卡诺图。
卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。(摘自百度百科)

卡诺图法与代数法都可以作为化简逻辑函数的依据,但在我们平时的应用中,卡诺图用来化简自变量较少(六个以内)时比较常见。

化简原理

由代数化简法可知,若两个乘积项只有一个变量不同,即存在A+A'这种情况时,两个乘积项可以合并,这种项被称为逻辑相邻项,化简过程就是寻找,合并逻辑项的过程。
卡诺图(Karnaugh Map)是变形的真值表,用方格图表示自变量取值和相应的函数值, 其函数值 0 和 1 分别对应表达式中的最大项和最小项,构造特点是各行(各列)自变量取值
按循环码排列,使卡诺图中任意两个相邻方格对应的最小项(或最大项)只有一个自变量不
同,从而从而将逻辑相邻项转换为几何相邻项,方便相邻项的合并。三变量、四变量卡诺图 结构如图 4-31 所示。卡诺图的每个方格对应真值表的一行,方格中填入函数值 0 或 1,方
格中的编号是自变量取值对应的十进制数,也就是相应最小项的下标。用于指示该方格对应 于真值表的哪一行(卡诺图化简时不必写出这些数值)。 话不多说,给大家举几个例子说明一下。

以下图为例

圈的个数要尽可能的少,因为一个圈对应一个与项,既与项最少

解题思路(最最通俗的语言)

看第一行,两个一并在一起,他们头上的CD分别为00与01,0是重叠项记为C',AB是重叠项00,记为A'B'C',同理可以得出表格最右端10为重叠项,记为CD',AB为00与01,0重叠,记为A’。剩下的一个圈了两个的红色方框一样的道理。
现在看那个圈了四个的红色框,红色框上面11与10,0重叠,保留为C,00与01重叠的是1保留为B,及红色框化简的BC,综上所述,该卡诺图化简结果为:

总结起来一句话:留下相同的,去掉不同的

还有一道例题:


这道题目与上一道颇为相似,只是有两个1分布在边缘,我们也可以按照图中所示的方法将它圈起来进行化简,至于过程在这里不一一赘述,结果如下:

还有一个性质

再来一道例题:

经过前面的学习,可以很容易的得出化简结果为:

但这个是错的!!!!!

错误的原因很简单,你圈的还不够多!

正确解法如下

接下来按照咱们原来的方法做就即可。

约束项

至于到底变成0还是1,要尽可能满足圈的数目尽可能多,而矩形数目最小。

举个例子

前面下标有m的表示最小项,d表示无关项
画出卡诺图如下:

结果如下:

蓝色出现变量最少,为最简项

时间关系,先写这么多,有人看我再更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javabean 连接mysql_连接mysql的javabean实例+简单分页

连接mysql的javabean实例简单分页rs.getString(user_id)rs.getString(user_name)rs.getString(user_mail)rs.getString(user_adds)int Cint(String cint){try {int n;n Integer.parseInt(cint);return n;}catch (NumberFormatException e) {return 0;}}%>int PageSize5; //设…

java 工厂方法模式_Java中的工厂方法模式

java 工厂方法模式在上一篇有关模板方法模式的文章中 ,我展示了如何利用lambda表达式和默认方法 。 在本文中,我将探讨工厂方法模式,并了解如何利用方法引用,这是Java 8中与lambda表达式一起添加的另一项功能。 让我们考虑一个Ve…

几种常见的集成触发器(D、T、JK)

同步RS触发器存在“空翻”现象,即触发器存在多次翻转的现象,空翻破坏了“时序电路按时钟节拍工作,每个时钟脉冲作用下电路的状态只发生一次转换”的基本原则 解决方法:将电平触发改为边沿触发,使得触发器旨在时钟脉冲…

mysql md5版本校验_MySQL查询以名称的md5版本更新所有条目?

为此,您可以使用MD5()。让我们首先创建一个表-mysql> create table DemoTable1887(Password text,HashPassword text);使用插入命令在表中插入一些记录-mysql> insert into DemoTable1887(Password) values(John9089);mysql> insert into DemoTable1887(Pa…

Hashcat从入门到入土(一)

Hashcat的官方是这么介绍自己的 Hashcat is a password recovery tool. It had a proprietary code base until 2015, but was then released as open source software. Versions are available for Linux, OS X, and Windows. Examples of hashcat-supported hashing algorith…

MySQL在哪里看secret_key_K8S 创建和查看secret(九)

yaml中的用户密码敏感信息一般都会采用密码存储采用base64编码进行加密[roothz-95 pv]# echo -n guang | base64emd1YW5nag[roothz-95 pv]# echo -n 1q2w#E$R | base64cat secret.ymalapiVersion: v1kind: Secretmetadata:name: mysecret2data:username: emd1YW5nagpassword: M…

java 语义_Java文件合并变得语义化

java 语义与任何程序员交谈,并询问他应该如何进行合并:“它应该理解代码,对其进行解析,然后根据结构进行合并” –他很可能会说。 而这恰恰是SemanticMerge for Java所做的:它解析要合并的文件(加上祖先或…

python循环指令_Python循环

布尔运算学习循环之前,先了解一个概念:布尔运算布尔运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体,并由二维布尔运算发展到三维图形的布尔运算…

Apache Pulsar:分布式发布订阅消息系统

Apache Pulsar是一个开源的分布式pub-sub消息传递系统,最初由Yahoo创建,并且是Apache Software Foundation的一部分 。 Pulsar是用于服务器到服务器消息传递的多租户高性能解决方案。 脉冲星的主要功能包括[4]: 对Pulsar实例中的多个集群的…

查看mysql进程ps_linux ps命令查看当前运行的进程

Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想对进程进行实时的监控,应该用 top 命令。要对进程进行监测和控制&#xff0…

java获取文件编码_java如何获取文件编码格式

1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK。按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理就是只要读出文件前三…

java上传文件功能_Java MemoryMapped文件的功能

java上传文件功能Java MemoryMapped文件的功能 在JDK 1.4中,内存映射文件的一个有趣功能被添加到Java中,该功能允许将任何文件映射到OS内存以进行有效读取。 内存映射文件可用于开发IPC类型的解决方案。 本文是使用内存映射文件创建IPC的实验。 有关内存…

java代码快速_java代码编写快捷途经

CtrlR 然后按下R键SHiftAltR:对选定属性进行全局命名CtrlD:删除当前行CtrlQ: 定位到最后编辑的地方CtrlL: 定位在某行CtrlM: 最大化当前的 Edit(命令)CtrlO:快速显示大纲CtrlD:显示继承结构CtrlW :关掉当…

控制Java并行流的并行度

在掌握了这些新功能之后,随着Java 9的最新发布,我们有了许多新功能可以用来改进我们的解决方案。 Java 9的发布也是修改我们是否掌握Java 8功能的好时机。 在本文中,我想解决关于Java并行流的最常见的误解。 人们通常说您不能以编程方式控制…

java小型超市系统_Java小型超市收银系统

【实例简介】Java SE开发的超市收银系统,实现了数据库操作,文件读取数据,写入数据等操作【实例截图】【核心代码】超市收银系统└── 期末综合├── bin│ ├── Driver.class│ ├── control│ │ ├── ExportMenuController…

double取值范围 java_Java中float/double取值范围与精度

Java浮点数浮点数结构要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法,浮点数的结构组成,之所以会有这种所谓的结构,是因为机器只认识01,你想表示小数,你要机器认识小数点这个东西&#…

开源点云数据处理 开源_大数据开源安全

开源点云数据处理 开源在安全性方面从未有(恕我直言)已经足够了开源解决方案和布鲁斯已经撰写了有关这几个 时间在过去 ,而且也没有必要再次改写参数。 现在,随着市场上“ NoSQL”和“大数据”开源趋势的发展,安全终于…

为您的Web应用程序启用两因素身份验证

支持两因素身份验证(2FA)几乎总是一个好主意,尤其是对于后台系统。 2FA有许多不同的形式,其中一些包括SMS,TOTP甚至是硬件令牌 。 启用它们需要类似的流程: 用户转到其个人资料页面(如果要在注…

redis java序列化_java处理redis的几种序列化策略

简单记录一下java处理redis的几种序列化策略,这里使用的环境是springboot 2.0.4springboot中提供了StringRedisTemplate和RedisTemplate两种序列化类,它们都只能读自己存的数据,即数据互不相通。主要区别如下:1、采用的序列化策略…

java 访问内部类的属性_java中的内部类详细总结

内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方…