数据逻辑(十)——逻辑函数的两种标准形式

news2025/1/7 15:59:59

目录

1 最小项和最大项

1.1 最小项

1.2 最大项

2 逻辑函数的最小项之和

3 逻辑函数的最大项之积

4 最小项之和以及最大项之积的联系和应用场景

4.1 最小项之和以及最大项目之积的联系

4.2 最小项之和以及最大项之积的应用场景


逻辑函数的两种标准形式分别是以最小项之和的形式和最大项之积形式。

1 最小项和最大项

1.1 最小项

对于n个变量的逻辑函数,若m为包含n个因子的乘积项,而且这n个变量均以原变量或者反变量的形式在m中出现一次,则称为该组变量的最小项。(最小项定义参考阎石主编的《数字电子技术基础》(第六版))

最小项m具有以下特征:

  • m是一个乘积项。
  • 包含n个因子。(n个变量对应着有2个n次方个最小项)
  • n个变量均以原变量或者反变量的形式在m中出现一次。

例如,对于有两个变量A、B最小项有:A'B'、A'B、AB'、AB。

对于有三个变量A、B、C最小项有:A'B'C'、A'B'C、A'BC'、A'BC、AB'C'、AB'C、ABC'、ABC。

对于有四个变量A、B、C、D最小项有:A'B'C'D'、A'B'C'D、A'B'CD'、A'B'CD...ABCD等16项目。

下面详细说明两变量的最小项的编号表:

表1 两变量的最小项编号表
最小项AB十进制数编号
A'B'000m_0
A'B011m_1
AB'102m_2
AB113m_3

下面详细说明三变量的最小项的编号表:

表2 三变量的最小项编号表
最小项ABC十进制数编号
A’B'C'0000m_0
A'B'C0011m_1
A'BC'0102m_2
A'BC0113m_3
AB'C'1004m_4
AB'C1015m_5
ABC'1106m_6
ABC1117m_7

 根据最小项的定义有如下所示的性质:

  •  在输入变量的任何取值下必有一个最小项,而且仅有一个最小项的值为1。
  • 全体最小项之和为1。
  • 任何两个最小项的乘积为0。
  • 具有相邻性的最小项之和可以合并成一项并消去一对因子。

首先输入变量的任何取值下必有一个最小项,而且仅有一个最小项的值为1。例如:当有A、B两个变量,A=0,B=1时,A'B=1;当有A、B、C三个变量时,A=0、B=0、C=0时,A'B'C'=1;当有A、B、C、D,A=0、B=0、C=1、D=1时,A‘B'CD=1。

全体最小项之和为1。例如:当有A、B两个变量,A=0,B=1时,则A’B‘=0、A’B=1、AB'=0、AB=0,所以A'B'+A'B+AB'+AB=1;当有A、B、C三个变量中,A=0、B=1、C=1时,A'B'C'=0、A'B'C=0、A’BC'=0、A'BC=1、AB‘C'=0、AB'C=0、ABC'=0和ABC=0,则A'B'C'+A'B'C+A'BC'+A'BC+AB'C'+AB'C+ABC'+ABC=0。

任何两个最小项的乘积为0,例如:当有A、B两个变量,A=0,B=1,则A’B'=0、A‘B=1、AB'=0、AB=0时,A'B.(AB)=0.1=0。

具有相邻性的最小项之和可以合并成一项并消去一对因子。例如有A、B、C三个变量,有一对相邻最小项AB'C和AB'C',进行相加AB'C+AB'C'=AB'(C+C')=AB'。

1.2 最大项

在n变量逻辑函数中,若M为n个变量之和,而且这n个变量均以原变量或者反变量的形式在M中出现一次,则称M为该组变量的最大项。(最大项定义参考了阎石主编《数字电子技术基础》(第六版))

和最小项相似,最大项M具有以下性质:

  • M是最大项。
  • 包含n个因子。
  • n个变量均以原变量和反变量的形式在M中出现。

对于有n个变量有2^n个最大项。例如有A、B两个变量,有(A'+B')、(A'+B)、(A+B')和(A+B)四个,如果有A、B、C三个变量,则有(A'+B'+C')、(A'+B'+C)、(A'+B+C')、(A'+B+C)、(A+B'+C')、(A+B'+C)、(A+B+C')和(A+B+C)8个最大项。

下面详细介绍两变量最大项的编号表:

表3 两变量的最大项编号表
最大项AB对应十进制的值编号
A+B000M_0
A+B'011M_1
A'+B102M_2
A'+B'113M_3

下面详细介绍三变量最大项的编号表:

表4 三变量的最大项的编号表
最大项ABC对应十进制的值编号

A+B+C

0000M_0
A+B+C'0011M_1
A+B'+C0102M_2
A+B'+C'0113M_3
A'+B+C1004M_4
A'+B+C'1015M_5
A'+B‘+C1106M_6
A'+B'+C'1117M_7

与最小项的性质相似,最大项也有如下如下性质:

  • 在输入变量的任何取值下必有一个最大项,而且只有一个最大项的值为0。
  • 全体最大项之积为0。
  • 任意两个最大项之和为1。
  • 只有一个变量不同的最大项的乘积等于各相同变量之和。

在输入变量的任何取值下必有一个最大项,而且只有一个最大项的值为0。例如,有A、B两个变量,A=1、B=1时,A'+B'=0;有A、B、C三个变量,A=0、B=1、C=1时,A+B'+C'=0。

全体最大项目之积为0,例如,当有A、B两个变量时,A=1,B=0时,则A'+B'=1、A’+B=0、A+B'=1、A+B=1,此时全体最大项之积为(A'+B')(A'+B)(A+B')(A+B)=1.0.1.1=0。

任何两个最大项之和为1,例如,当有A、B、C三个变量,A=1、B=0、C=0时,此时A'+B+C=0,A+B+C'=1,A+B+C=1,可得(A'+B+C)+(A+B+C')=1,(A+B+C')+(A+B+C)=1。

只有一个变量不同的最大项目乘积等于各相同变量之和,例如,当有A、B、C三个变量,设M_1=A'+B+C'M_2=A'+B+C。那么可以相乘得:

M_1M_2=(A'+B+C')(A'+B+C)=A'(A'+B+C)+B(A'+B+C)+C'(A'+B+C)=A'+A'B+A'C+A'B+BC+A'C'+BC'=A'+A'B+A'(C+C')+B+B(C+C')=A'+A'B+B=A'+B

通过计算过程可以看到M_1M_2有A’和B是相同变量,M_1M_2相乘之后结果为A‘+B,验证了本条性质。

2 逻辑函数的最小项之和

逻辑函数的最小项之和是指将逻辑函数表示为若干个最小项相加的形式。

下面列举几个计算逻辑函数的最小项之和的例子。

(1)对于三变量A、B、C的逻辑函数Y=AB'C'+BC,写出最小项之和形式:

                                                                  Y=AB'C'+BC'

可以化为:

                             Y=AB'C'+BC'=AB'C'+(A+A')BC' =A'BC'+AB'C'+ABC' =m_2+m_4+m_6

或者写为:

                                                            Y(A,B,C)=\sum m(2,4,6)

(2)对于三变量A、B、C的逻辑函数Y=A'B'C+A,写出最小项之和形式:

                                                                   Y=A'B'C+A

可以化为: 

                         Y=A'B'C+A=A'B'C+A(B'C'+B'C+BC'+BC)=A'B'C+AB'C'+AB'C+ABC'+ABC=m_1+m_4+m_5+m_6+m_7

或者写为: 

                                                  Y(A,B,C)=\sum m(1,4,5,6,7)

(3)对于四变量A、B、C、D的逻辑函数Y=ABC’+A'BCD,写出最小项之和形式:

                                                              Y=ABC'+A'BCD

可以化为:

                           Y=ABC'+A'BCD=ABC'(D+D')+A'BCD=A'BCD+ABC'D'+ABC'D=m_7+m_{12}+m_{13}

或者写为:

                                              Y(A,B,C,D)=\sum m(7,12,13)

(4)对于四变量A、B、C、D的逻辑函数Y=AB+A‘BCD+A'B'C',写出最小项之和的形式:

                                                    Y=AB+A'BCD+A'B'C'

可以化为:

                       Y=AB+A'BCD+A'B'C'=AB(C'D'+C'D+CD'+CD)+A'BCD+A'B'C'(D+D')=A'B'C'D'+A'B'C'D+A'BCD+ABC'D'+ABC'D+ABCD'+ABCD=m_0+m_1+m_7+m_{12}+m_{13}+m_{14}+m_{15}

或者写为:

                                         Y(A,B,C,D)=\sum m(0,1,7,12,13,14,15)

(5)对于四变量A、B、C、D的逻辑函数Y=AB+A'B',写出最小项之和的形式:

                                                           Y=AB+A'B'

可以化为:

        Y=AB+A'B'=A'B'(C'D'+C'D+CD'+CD)+AB(C'D'+C'D+CD'+CD)=A'B'C'D'+A'B'C'D+A'B'CD'+A'B'CD+ABC'D'+ABC'D+ABCD'+ABCD=m_0+m_1+m_2+m_3+m_{12}+m_{13}+m_{14}+m_{15}

或者写为:

                                      Y(A,B,C,D)=\sum m(0,1,2,3,12,13,14,15)

(6)对于四变量A、B、C、D的逻辑函数Y=AB+CD,写出最小项之和的形式:

                                                           Y=AB+CD

可以化为:

              Y=AB+CD=AB(C'D'+C'D+CD'+CD)+(A'B'+A'B+AB'+AB)CD=ABC'D'+ABC'D+ABCD'+ABCD+A'B'CD+A'BCD+A'B'CD+A'BCD+AB'CD=m_3+m_7+m_{11}+m_{12}+m_{13}+m_{14}+m_{15}

或者写成:

                                        Y(A,B,C,D)=\sum m(3,7,11,12,13,14,15)

(7)对于四变量A、B、C、D的逻辑函数Y=A'B'+AB'C'D+ABC,写出最小项之和形式:

                                           Y=A'B'+AB'C'D+ABC

可以化为:

             Y=A'B'+AB'C'D+ABC=A'B'(C'D'+C'D+CD'+CD)+AB'C'D+ABC(D+D')=A'B'C'D'+A'B'C'D+A'B'CD'+A'B'CD+AB'C'D+ABCD'+ABCD=m_0+m_1+m_2+m_3+m_9+m_{12}+m_{13}+m_{14}+m_{15}

或者写成:

                                    Y(A,B,C,D)=\sum m(0,1,2,3,9,12,13,14,15)

3 逻辑函数的最大项之积

逻辑函数的最大项之积是指将逻辑函数表示为若干个最大项相乘的形式。

(1)对于两变量A、B的逻辑函数Y=AB'+A'B,写出最大项之积的形式:

                                                     Y=A'B+AB'

可以化为:

                           Y=A'B+AB'=(A+B)(A'+B')=M_0M_3

或者写为:

                                                  Y(A,B)=\prod M(0,3)

(2)对于三变量A、B、C的逻辑函数Y=A+BC,写出最大项之积的形式:

                                                          Y=A+BC

可以化为:

                   Y=A+BC=(A+B)(A+C)=(A+B+CC')(A+BB'+C)=(A+B+C)(A+B+C')(A+B+C)(A+B'+C)=(A+B+C)(A+B+C')(A+B'+C)=M_0M_1M_2

或者写为:

                                               Y(A,B,C)=\prod M(0,1,2)

(3)对于三变量A、B、C的逻辑函数Y=A+BC'+B'C,写出最大项之积的形式:

                                                   Y=A+B'C+BC'

可以化为:

                Y=A+BC'+B'C=A+(B+C)(B'+C')=(A+B+C)(A+B'+C')

或者写为:

                                               Y(A,B,C)=\prod M(0,3)

通过计算可以看到,最大项之积计算起来过程较为复杂,并且不符合读写习惯,因此最大项之积相比于最小项之和在实际应用中使用较少。

4 最小项之和以及最大项之积的联系和应用场景

4.1 最小项之和以及最大项目之积的联系

逻辑函数的最小项之和以及最大项之存在一定的关系,如下图所示:

图1 最小项之和转换为最大项之积公式抓换图

在上图中,逻辑函数Y是最小项之和,i是使最小项为1的变量取值所对应的十进制值的集合,而Y‘的逻辑式的最大项之积的形式则是k不等于i的最大项之积。

4.2 最小项之和以及最大项之积的应用场景

最小项之和的形式可以清楚地展示在哪些输入组合下输出1,能够完整地解释逻辑函数的功能。在数字电路设计中,最小项之和形式方便进行电路的化简和实现。例如在卡诺图中,常常利用最小项的形式进行化简,卡诺图中的一个方格对应的是一个最小项,相邻的方格进行组合即为最小项的相邻项之间进行合并。

在数字电路设计时,尤其是在与非门设计时,最大项之积可以提供一种新的设计思路,将电路设计为与非门的组合来实现电路。同时在逻辑函数的证明和等价转换过程中,最大项之积形式可以验证逻辑函数的正确性和一致性。

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

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

相关文章

【Ubuntu使用技巧】Ubuntu22.04无人值守Crontab工具实战详解

一个愿意伫立在巨人肩膀上的农民...... Crontab是Linux和类Unix操作系统下的一个任务调度工具,用于周期性地执行指定的任务或命令。Crontab允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。这些任务可以按照分钟、小时、日…

鸿蒙Flutter实战:15-Flutter引擎Impeller鸿蒙化、性能优化与未来

Flutter 技术原理 Flutter 是一个主流的跨平台应用开发框架,基于 Dart 语言开发 UI 界面,它将描述界面的 Dart 代码直接编译成机器码,并使用渲染引擎调用 GPU/CPU 渲染。 渲染引擎的优势 使用自己的渲染引擎,这也是 Flutter 与其…

UniApp | 从入门到精通:开启全平台开发的大门

UniApp | 从入门到精通:开启全平台开发的大门 一、前言二、Uniapp 基础入门2.1 什么是 Uniapp2.2 开发环境搭建三、Uniapp 核心语法与组件3.1 模板语法3.2 组件使用四、页面路由与导航4.1 路由配置4.2 导航方法五、数据请求与处理5.1 发起请求5.2 数据缓存六、样式与布局6.1 样…

法拉利F80发布 360万欧元限量799辆 25年Q4交付

今日,法拉利旗下全新超级跑车——F80正式发布,新车将作为法拉利GTO和法拉利LaFerrari(参数丨图片) Aterta的继任者,搭载V6混合动力系统,最大综合输出功率高达1632马力。售价360万欧元,全球限量生…

【pytorch练习】使用pytorch神经网络架构拟合余弦曲线

在本篇博客中,我们将通过一个简单的例子,讲解如何使用 PyTorch 实现一个神经网络模型来拟合余弦函数。本文将详细分析每个步骤,从数据准备到模型的训练与评估,帮助大家更好地理解如何使用 PyTorch 进行模型构建和训练。 一、背景 …

电脑steam api dll缺失了怎么办?

电脑故障解析与自救指南:Steam API DLL缺失问题的全面解析 在软件开发与电脑维护的广阔天地里,我们时常会遇到各种各样的系统报错与文件问题,其中“Steam API DLL缺失”便是让不少游戏爱好者和游戏开发者头疼的难题之一。作为一名深耕软件开…

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…

组合的能力

在《德鲁克最后的忠告》一书中,有这样一段话: 企业将由各种积木组建而成:人员、产品、理念和建筑。积木的设计组合至少和其供给一样重要。……对于一切程序、应用软件以及附件来说,重要的是掌握将已有的软件模块组合的能力&…

去掉el-table中自带的边框线

1.问题:el-table中自带的边框线 2.解决后的效果: 3.分析:明明在el-table中没有添加border,但是会出现边框线. 可能的原因: 由 Element UI 的默认样式或者表格的某些内置样式引起的。比如,<el-table> 会通过 border-collapse 或 border-spacing 等属性影响边框的显示。 4…

大模型与EDA工具

EDA工具&#xff0c;目标是硬件设计&#xff0c;而硬件设计&#xff0c;您也可以看成是一个编程过程。 大模型可以辅助软件编程&#xff0c;相信很多人都体验过了。但大都是针对高级语言的软件编程&#xff0c;比如&#xff1a;C&#xff0c;Java&#xff0c;Python&#xff0c…

【HarmonyOS之旅】基于ArkTS开发(一) -> Ability开发一

目录 1 -> FA模型综述 1.1 -> 整体架构 1.2 -> 应用包结构 1.3 -> 生命周期 1.4 -> 进程线程模型 2 -> PageAbility开发 2.1 -> 概述 2.1.1 ->功能简介 2.1.2 -> PageAbility的生命周期 2.1.3 -> 启动模式 2.2 -> featureAbility接…

BART:用于自然语言生成、翻译和理解的去噪序列到序列预训练

摘要&#xff1a; 我们提出了BART&#xff0c;一种用于预训练序列到序列模型的去噪自编码器。BART通过以下方式训练&#xff1a;(1) 使用任意的噪声函数对文本进行破坏&#xff0c;(2) 学习一个模型来重建原始文本。它采用了一种标准的基于Transformer的神经机器翻译架构&#…

Promise编码小挑战

题目 我们将实现一个 createImage 函数&#xff0c;该函数返回一个 Promise&#xff0c;用于处理图片加载的异步操作。此外&#xff0c;还会实现暂停执行的 wait 函数。 Part 1: createImage 函数 该函数会&#xff1a; 创建一个新的图片元素。将图片的 src 设置为提供的路径…

Dubbo扩展点加载机制

加载机制中已经存在的一些关键注解&#xff0c;如SPI、©Adaptive> ©Activateo然后介绍整个加载机制中最核心的ExtensionLoader的工作流程及实现原理。最后介绍扩展中使用的类动态编译的实 现原理。 Java SPI Java 5 中的服务提供商https://docs.oracle.com/jav…

【Web】软件系统安全赛CachedVisitor——记一次二开工具的经历

明天开始考试周&#xff0c;百无聊赖开了一把CTF&#xff0c;还顺带体验了下二开工具&#xff0c;让无聊的Z3很开心&#x1f642; CachedVisitor这题 大概描述一下&#xff1a;从main.lua加载一段visit.script中被##LUA_START##(.-)##LUA_END##包裹的lua代码 main.lua loca…

在不到 5 分钟的时间内将威胁情报 PDF 添加为 AI 助手的自定义知识

作者&#xff1a;来自 Elastic jamesspi 安全运营团队通常会维护威胁情报报告的存储库&#xff0c;这些报告包含由报告提供商生成的大量知识。然而&#xff0c;挑战在于&#xff0c;这些报告的内容通常以 PDF 格式存在&#xff0c;使得在处理安全事件或调查时难以检索和引用相关…

vscode代码AI插件Continue 安装与使用

“Continue” 是一款强大的插件&#xff0c;它主要用于在开发过程中提供智能的代码延续功能。例如&#xff0c;当你在编写代码并且需要进行下一步操作或者完成一个代码块时&#xff0c;它能够根据代码的上下文、语法规则以及相关的库和框架知识&#xff0c;为你提供可能的代码续…

leetcode(hot100)4

解题思路&#xff1a;双指针思想 利用两个for循环&#xff0c;第一个for循环把所有非0的全部移到前面&#xff0c;第二个for循环将指针放在非0的末尾全部加上0。 还有一种解法就是利用while循环双指针条件&#xff0c;当不为0就两个指针一起移动 &#xff0c;为0就只移动右指针…

vulnhub——Earth靶机

使用命令在kali查看靶机ip arp-scan -l 第一 信息收集 使用 nmap 进行 dns 解析 把这两条解析添加到hosts文件中去&#xff0c;这样我们才可以访问页面 这样网站就可以正常打开 扫描ip时候我们发现443是打开的&#xff0c;扫描第二个dns解析的443端口能扫描出来一个 txt 文件…

k8s基础(1)—Kubernetes-Pod

一、Pod简介 Pod是Kubernetes&#xff08;k8s&#xff09;系统中可以创建和管理的最小单元&#xff0c;是资源对象模型中由用户创建或部署的最小资源对象模型‌。Pod是由一个或多个容器组成的&#xff0c;这些容器共享存储和网络资源&#xff0c;可以看作是一个逻辑的主机‌。…