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

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

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

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

化简原理

由代数化简法可知,若两个乘积项只有一个变量不同,即存在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表示无关项
画出卡诺图如下:

结果如下:

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

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

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

  1. 第六十二期:看完这篇还不了解Nginx,那我就哭了!

    看完这篇还不了解Nginx,那我就哭了! Nginx 同 Apache 一样都是一种 Web 服务器.基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifie ...

  2. 图解 | 看完这篇还不懂高并发中的线程与线程池,你来打我!

    来源 | 码农的荒岛求生 头图 | 视觉中国 一切要从CPU说起 你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没有那些时髦的概念,你可以更加清晰的看清问题的本质. CPU并不知道 ...

  3. 看完这篇还不会Elasticsearch,我跪搓衣板,90%程序员已收藏

    疯狂的肉丝面 2019-07-24 08:01:01 摘自:JaJian 51CTO技术栈 编者说: 这篇可谓ES雄文,从概念到原理再到应用,还囊括了调优.强烈建议收藏. 生活中的数据 搜索引擎是对数 ...

  4. 看完这篇还不懂Redis的RDB持久化,你们来打我!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 一.为什么需要持久化 redis里有10gb数据,突然停电或者意外 ...

  5. 看完这篇还不清楚Netty的内存管理,那我就哭了!

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群"加入公众号专属技术群 说明 在学习Netty的时候,ByteBuf随处可见,但是 ...

  6. 为什么子进程每次执行顺序不一样_看完这篇还不懂Redis的RDB持久化,你来打我...

    推荐观看: Redis缓存穿透的终极解决方案,手写布隆过滤器_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com P8架构师串讲:Redis,zookeeper,ka ...

  7. netty发送数据_看完这篇还不清楚Netty的内存管理,那我就哭了

    说明 在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解 ...

  8. 看完这篇还不会Elasticsearch,我跪搓衣板!

    本文转载自:https://www.cnblogs.com/jajian/p/11223992.html 关于elasticsearch的深度好文. 生活中的数据 搜索引擎是对数据的检索,所以我们先从 ...

  9. 看完这篇还不会kafka,我跪榴莲!

    戳蓝字"CSDN云计算"关注我们哦! Kafka 对外使用 Topic 的概念,生产者往 Topic 里写消息,消费者从中读消息.为了做到水平扩展,一个 Topic 实际是由多个 ...

最新文章

  1. GMap.net 离线地图问题
  2. cogs 服务点设置
  3. 怎么将计算机网络设置家庭,“windows无法在此计算机上设置家庭组”问题如何解决...
  4. SQL语言之DQL语言学习(七)分组查询
  5. anaconda在ubuntu中添加环境变量
  6. 流畅的Python 2. 数据结构 - 序列构成的数组
  7. Qt QMYSQL driver not loaded 解决办法
  8. php 打印 trace,php xdebug trace 调试的问题
  9. 手机通讯录备份代码实现三
  10. 小米 11 不送充电器;苹果已修复 iCloud 登录激活问题;Ruby 3.0.0 发布|极客头条...
  11. 第十天学习@javascript
  12. 【自然语言处理】论述自然语言处理的技术范畴
  13. matlab教程pdf,Matlab2010经典超强教程(清晰、版).pdf
  14. OneNET EDP协议讲解与应用
  15. 万万没想到,“红孩儿”竟然做了程序员,还是CTO!
  16. mean IOU是什么意思
  17. 数据工具sqoop用法之mysql与hive数据导入导出
  18. 变软的苹果,正在复制腾讯
  19. 怎样成为解决问题的高手?七步成诗:麦肯锡解决问题七步法
  20. 【Rust日报】 2019-07-29:关于创建「更小的」Rust的思考

热门文章

  1. 相当全的JS及.NET正则表达式语法
  2. IntelliJ IDEA中怎么查看方法说明
  3. 写一首春天去野外写生的诗
  4. Protein-protein interaction site prediction through combining local and global features 文章梳理
  5. 如何修改图片分辨率为300dpi?怎么样修改照片的分辨率?
  6. 添加网络计算机后打印乱码,Windows7系统打印机无法打印出现乱码的解决方法
  7. pytorch_LSTM:参数
  8. halcon在图片上画几何形状并保存
  9. 从0开始学AI-DAY0-写在前面
  10. 计算机创新创业项目点子,创新创业项目有哪些(创业点子大全500个)