逻辑电路代数运算(上)

news2024/12/23 18:36:01

逻辑代数L是一个封闭的代数系统,由一个逻辑变量集K,常量0和1,以及与或非三种基本运算构成。
参与逻辑运算的变量叫逻辑变量,用字母A,B……表示。每个变量的取值非0 即1。 0、1不表示数的大小,而是代表两种不同的逻辑状态。
正、负逻辑规定:

  • 正逻辑体制规定:高电平为逻辑1,低电平为逻辑0。
  • 负逻辑体制规定:低电平为逻辑1,高电平为逻辑0。

真值表是把逻辑变量的所有取值及其对应的结果构成的一个二维表格。
未标题-1.png

与、或、非

逻辑符号表:https://zh.wikipedia.org/zh/%E9%80%BB%E8%BE%91%E7%AC%A6%E5%8F%B7%E8%A1%A8

与:逻辑合取
如果A与B二者都为真,则陈述A∧B为真;否则为假。


符号:&
维基百科:https://zh.wikipedia.org/wiki/%E4%B8%8E%E9%97%A8

或:逻辑析取
如果A或B之一为真陈述或AB两者都为真陈述,则A∨B为真;如果二者都为假,则陈述为假。


符号:+ǀ
维基百科:https://zh.wikipedia.org/wiki/%E6%88%96%E9%97%A8

非:逻辑否定
又名:反相器
陈述¬A为真,当且仅当A为假。穿过其他算符的斜线同于在它前面放置的 “¬”。


符号:¬˜
维基百科:https://zh.wikipedia.org/wiki/%E5%8F%8D%E7%9B%B8%E5%99%A8

与非、或非、异或、同或

与非:输入都为1时,输出为0
或非:输入都为0时,输出为1
异或:输入不相同时,输出为1
同或:输入相同时,输出为1

与非NAND

与非门(英语:NAND gate)是数字逻辑中实现逻辑与非的逻辑门。若输入均为高电平(1),则输出为低电平(0);若输入中至少有一个为低电平(0),则输出为高电平(1)。与非门是一种通用的逻辑门,因为任何布尔函数都能用与非门实现。

真值表:
只有在A和B都为1时,结果才为1。

输入A输入B输出A NAND B
001
011
101
110

或非NOR

或非门(英语:NOR gate)是数字逻辑中实现逻辑或非的逻辑门,功能见右侧真值表。若输入均为低电平(0),则输出为高电平(1);若输入中至少有一个为高电平(1),则输出为低电平(0)。或非是逻辑或加逻辑非得到的结果。或非是一种具有函数完备性的运算,因此其他任何逻辑函数都能用或非门实现。相比之下,逻辑或运算器是一种单调的运算器,其只能将低电平变为高电平,但不能将高电平变为低电平。

真值表:

ABY=A+BY=A NOR B
0001
0110
1010
1110

异或XOR

异或门(英语:Exclusive-OR gate,简称XOR gate,又称EOR gate、ExOR gate)是数字逻辑中实现逻辑异或的逻辑门,功能见右侧真值表。若两个输入的电平相异,则输出为高电平(1);若两个输入的电平相同,则输出为低电平(0)。

这一函数能实现模为2的加法,因此,异或门可以实现计算机中的二进制加法。半加器是由异或门和与门组成的。

真值表:

ABA⊕B
000
011
101
110

同或XNOR

同或门(英语:XNOR gate,偶尔写作ENOR gate、ExNOR gate,在Intel处理器中,此项功能被命名为"test"),又称异或非门,是数字逻辑中实现逻辑双条件的逻辑门,功能见右侧真值表。若两个输入的电平相同,则输出为高电平(1);若两个输入的电平相异,则输出为低电平(0)。

真值表:

ABA⊕BA⊙B
0001
0110
1010
1101

逻辑代数运算规则

与乘除法类似,满足交换律、结合律、分配律,不再赘述。
特别注意分配律的变式:A+BC=(A+B)(A+C)
由于逻辑变量的值只有0和1,还满足0-1律和互补率。

0-1律

  • A+0=A//0为断路,并联之后,结果是否导通取决于A,结果为A
  • A·0=0//0为断路,与A串联,无论A为多少,一定不导通,结果为0
  • A+1=1//1为通络,与A并联后,无论A为多少,一定导通,结果为1
  • A·1=A//1为通络,与A串联后,结果是否导通取决于A,结果为A

互补律

  • A+A'=1//由于A与A’互反,并联之后,一定有一条分路导通,结果为1
  • AA'=1//由于A与A’互反,串联之后,一定有一部分断开,一定不导通,结果为0

重叠律

A+A=AAA=A
//A与A并联或串联,结果是否导通,取决于A
该定律说明一个变量多次自与、自或的结果仍为自身,即逻辑代数中不存在倍率和方幂运算。

吸收律

A+AB=AA(A+B)=A
//很明显,电路是否导通,取决于A
该定律说明表达式中A项包含了式中另一项,则该项可以去掉。

消去律(消因子公式)

A+A'B=A+BA(A'+B)=AB
//A和B只要有一个为1,结果为1

并项律

AB+AB'=A(A+B)(A+B')=A
//B的值不影响最终结果

复原律(还原律)

A’'=A

冗余律(消项公式)

AB+A'C+BC=AB+AC
(A+B)(A'+C)(B+C)=(A+B)(A'+C)
该定律说明当表达式中某个变量以原变量和反变量的形式出现在两项中时,该两项的其他变量组成的第三项是多余的,可以去掉。

德·摩根定律

(A+B)'=A'B'(AB)'=A'+B'
并集的补集是补集的交集,交集的补集是补集的并集

逻辑函数基础

基本规则

代入规则

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

对偶规则

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

反演规则

当已知一个逻辑函数 F,要求 ¬F 时,只要把 F 中的所有 * 变成 +,+ 变成 *,0 变成 1,1 变成 0,原变量变成反变量,反变量变成原变量,即得 ¬F。 使用反演规则时要注意保持原函数中逻辑运算的优先顺序。

最小项&最大项

当用"与或"或者"或与"式表示一个逻辑函数时,有两种表达式特别重要。
一种是用"最小项"构成的"与或"式;
另一种是用"最大项"构成的"或与"式。
为了学习这两种重要的逻辑表达式,我们首先要掌握最小项和最大项的概念。

最小项

对于 n 个变量的逻辑函数而言,它的与项如果包含全部 n 个变量,即每个变量以原变量或反变量的形式出现一次且只出现一次,那么这个与项就称为该逻辑函数的最小项。
两个最小项如仅有一个变量因子不同,其他变量均相同,则称这两个最小项相邻。

最小项编号

任何一个最小项用 Mi表示,M表示最小项,下标i为使该最小项为1的变量取值所对应的等效十进制数。
A'BC,取值011时为1,因此这一项的编号为3。
一个最小项,只要把原变量当成1,反变量当成0,便可直接得到它的编号。
最小项性质:

  • 对于任意一个最小项,只有一组变量的取值才能使其值为1
  • 任意两个不同的最小项之积为0
  • n个变量的全部最小项之和为1
  • 相邻最小项相,可以合并成一项,并可以消去一个变量因子(没用)

最大项:与最小项相反

对于 n 个变量的逻辑函数而言,它的或项如果包含 全部n 个变量,即每个变量以原变量或反变量的形式出现一次且只出现一次,那么这个或项就称为该逻辑函数的最大项。
两个最大项如仅有一个变量因子不同,其它变量均相同,则称这两个最大项相邻。这与最小项相邻的规律相同。

最大项编号

任何一个最小项用 Mi表示,M表示最大项,下标i为使该最小项为0的变量取值所对应的等效十进制数。
A'+B+C,取值100时为0,因此这一项的编号为4
最大项性质:

  • 每一个最大项都只有一组变量的取值才能使其值为0
  • 不同的最大项相或,结果为1
  • n个变量的全部最大项之积为0
  • 相邻最大项相与,可以合并成一项,并可以消去一个变量因子(没用)
  • n个变量的任何一个最大项有n个相邻最大项(没用)

最小项和最大项的关系

编号相同的最小项和最大项互为反函数。

标准形式

逻辑变量的逻辑与运算叫做与项,与项的逻辑或运算构成了逻辑函数的与或式,也叫做积之和式(SP form)。
逻辑变量的逻辑或运算叫做或项,或项的逻辑与运算构成了逻辑函数的或与式,也叫做和之积式(PS form)。

标准与或

如果一个逻辑表达式为与或式,而且其中每个与项都是最小项,则称该逻辑表达式为标准与或式(或者标准积之和式,或者最小项之和形式)。
任一逻辑函数表达式都可以表示为标准与或式,而且是唯一的。

标准或与

如果一个逻辑表达式为或与式,而且其中每个或项都是最大项,则称该逻辑表达式为标准或与式(或者标准和之积式,或者最大项之积形式)。
任一逻辑函数表达式都可以表示为标准或与式,而且是唯一的。

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

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

相关文章

三天吃透Java基础八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…

Asp.net core api swagger显示中文注释

在你的 Web API 项目中使用 Swagger 的.NET Core 封装 Swashbuckle 可以帮助你创建良好的文档和帮助页面,Swagger (OpenAPI) 是一个与语言无关的规范,用于描述 REST API。 它使计算机和用户无需直接访问源代码即可了解 REST API 的功能1、OpenAPI 与 Swa…

IP定位离线库有什么作用?

IP离线是什么意思?我们以丢失手机为例来寻找它,现在手机都有IP定位功能,只要手机开通了IP定位,就能找到手机。iPhone定位显示离线一般是iPhone手机关机了或者iPhone手机中“查找我的iPhone”功能关闭了。如果手机在手中的话可以打…

【Spark】Spark的DataFrame向Impala写入数据异常及源码解析

背景 事情是这样的,当前业务有一个场景: 从业务库的Mysql抽取数据到Hive 由于运行环境的网络限制,当前选择的方案: 使用spark抽取业务库的数据表,然后利用impala jdbc数据灌输到hive。(没有spark on hive 的条件&…

cmd命令教程

小提示: 在本文中,我将向您展示可以在 Windows 命令行上使用的 40 个命令 温馨提示:在本教程中学习使用适用于 Windows 10 和 CMD 网络命令的最常见基本 CMD 命令及其语法和示例 文章目录为什么命令提示符有用一、cmd是什么?如何在…

AcWing 4868. 数字替换(DFS + 剪枝优化)

AcWing 4868. 数字替换(DFS 剪枝优化)一、问题二、思路三、代码一、问题 二、思路 题目中要求变换次数最小,其实第一印象应该是贪心,即我们每一次都去成各位中最大的那个数字。但是这个想法很容易推翻。因为你这次乘了一个最大的…

gdb/git的基本使用

热爱编程的你,一定经常徘徊在写bug和改bug之间,调试器也一定是你随影而行的伙伴,离开了它你应该会寝食难安吧! 目录 gdb的使用 断点操作 运行调试 观察数据 Git的使用 仓库的创建和拉取 .gitignore “三板斧” 常用指令 gd…

CV——day82 读论文:遥感目标检测的改进注意力特征融合SSD (AF-SSD)方法

遥感目标检测的改进注意力特征融合SSD 方法I. INTRODUCTIONII. RELATED WORKB. 特征融合C.注意力机制III. PROPOSED METHODA. 特性融合模块——**FFM**B.双路径注意模块——DAMC. 多尺度接受域——MRFIV. EXPERIMENTSA. Data Sets and TrainingV. CONCLUSIONAttention and Feat…

mac安装开发工具:clipy、iterm2、go、brew、mysql、redis、wget等

wget brew install wget clipy Releases Clipy/Clipy GitHub 环境变量 ~下有三个文件 .zshrc .zprofile .bash_profile > cat .zshrc export PATH$PATH:/usr/local/mysql/bin> cat .zprofile eval "$(/opt/homebrew/bin/brew shellenv)"> cat .bas…

[1.3.2]计算机系统概述——中断和异常

文章目录第一章 计算机系统概述中断和异常(一)中断的作用(二)中断的类型(三)中断机制的基本原理小结第一章 计算机系统概述 中断和异常 中断的作用中断的类型 内中断(也称“异常”)…

29- 迁移学习 (TensorFlow系列) (深度学习)

知识要点 迁移学习: 使用别人预训练模型参数时,要注意别人的预处理方式。 常见的迁移学习方式: 载入权重后训练所有参数.载入权重后只训练最后几层参数.载入权重后在原网络基础上再添加一层全连接层,仅训练最后一个全连接层.训练数据是 10_m…

滚蛋吧,正则表达式!

大家好,我是良许。 不知道大家有没有被正则表达式支配过的恐惧?看着一行火星文一样的表达式,虽然每一个字符都认识,但放在一起直接就让人蒙圈了~ 你是不是也有这样的操作,比如你需要使用「电子邮箱正则表达式」&…

面试之String、StringBuffer、StringBuilder区别

String、StringBuffer、StringBuilder区别 (1)是否可变 string对象不可变; StringBuffer、StringBuilder继承自AbstractStringBuilder类,实现原理都基于可修改的char数组,默认大小为16 (2)线程安全性 string中的对象不可变,可…

Java中String类intern()详解

1、背景在开发过程中很多朋友,由于不会正确使用intern(),导致开发的程序,执行效率比较差。同时最近发现一道非常有意思的关于intern()的面试题,这道面试题还是有不小的难度,相信很多朋友看到以后也不知道怎么解答&…

c++类与对象整理(上)

目录 1.类的引入 2.类的定义 3.类的访问限定符及封装 1)访问限定符 2)封装 4.类的作用域 5.类的实例化 6.类的对象大小的计算 1)类对象的存储方式 2)内存对齐和大小计算 ​编辑 7.类成员函数的this指针 1&#xff09…

linux配置网络详解

linux配置网络详解 文章目录linux配置网络详解前置准备配置流程错误排查前置准备 确定是否有网,比如在家里,确定是否连上网线?确定这个网线的网关是什么?(这个需要和给你办网的人确定),在公司的…

超详细JDK1.8所有版本下载地址

JDK1.8即为JDK8,JDK8是目前是最成熟最稳定的版本,本文将详细介绍JDK1.8历史版本的下载方式。 在此附上JDK1.8安装与配置教程 超详细JDK1.8安装与配置 一、JDK官网 首先打开oracle官网,官网首页地址为 JDK官网首页地址 点击Products 点击…

Kotlin实现简单的学生信息管理系统

文章目录一、实验内容二、实验步骤1、页面布局2、数据库3、登录活动4、增删改查三、运行演示四、实验总结五、源码下载一、实验内容 根据Android数据存储的内容,综合应用SharedPreferences和SQLite数据库实现一个用户信息管理系统,强化对SharedPreferen…

ks通过恶意低绩效来变相裁员(六)各方核心利益点分析

目录 公司利益点 管理层利益点 直接管理者利益点 一线干活的同学 一线嫡系同学 公司利益点 核心利益点:围绕财报营收,降本,拿到好看的财报数据,让资本市场继续看好自己 核心手段: 扩展新业务,挖掘已…

基于数据驱动的智能空调系统需求响应可控潜力评估研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…