逻辑电路代数运算(上)
逻辑代数L是一个封闭的代数系统,由一个逻辑变量集K,常量0和1,以及与或非三种基本运算构成。
参与逻辑运算的变量叫逻辑变量,用字母A,B……表示。每个变量的取值非0 即1。 0、1不表示数的大小,而是代表两种不同的逻辑状态。
正、负逻辑规定:
- 正逻辑体制规定:高电平为逻辑1,低电平为逻辑0。
- 负逻辑体制规定:低电平为逻辑1,高电平为逻辑0。
真值表是把逻辑变量的所有取值及其对应的结果构成的一个二维表格。
与、或、非
逻辑符号表: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 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
或非NOR
或非门(英语:NOR gate)是数字逻辑中实现逻辑或非的逻辑门,功能见右侧真值表。若输入均为低电平(0),则输出为高电平(1);若输入中至少有一个为高电平(1),则输出为低电平(0)。或非是逻辑或加逻辑非得到的结果。或非是一种具有函数完备性的运算,因此其他任何逻辑函数都能用或非门实现。相比之下,逻辑或运算器是一种单调的运算器,其只能将低电平变为高电平,但不能将高电平变为低电平。
真值表:
A | B | Y=A+B | Y=A NOR B |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 |
异或XOR
异或门(英语:Exclusive-OR gate,简称XOR gate,又称EOR gate、ExOR gate)是数字逻辑中实现逻辑异或的逻辑门,功能见右侧真值表。若两个输入的电平相异,则输出为高电平(1);若两个输入的电平相同,则输出为低电平(0)。
这一函数能实现模为2的加法,因此,异或门可以实现计算机中的二进制加法。半加器是由异或门和与门组成的。
真值表:
A | B | A⊕B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
同或XNOR
同或门(英语:XNOR gate,偶尔写作ENOR gate、ExNOR gate,在Intel处理器中,此项功能被命名为"test"),又称异或非门,是数字逻辑中实现逻辑双条件的逻辑门,功能见右侧真值表。若两个输入的电平相同,则输出为高电平(1);若两个输入的电平相异,则输出为低电平(0)。
真值表:
A | B | A⊕B | A⊙B |
---|---|---|---|
0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
逻辑代数运算规则
与乘除法类似,满足交换律、结合律、分配律,不再赘述。
特别注意分配律的变式:A+BC=(A+B)(A+C)
由于逻辑变量的值只有0和1,还满足0-1律和互补率。
0-1律
A+0=A
//0为断路,并联之后,结果是否导通取决于A,结果为AA·0=0
//0为断路,与A串联,无论A为多少,一定不导通,结果为0A+1=1
//1为通络,与A并联后,无论A为多少,一定导通,结果为1A·1=A
//1为通络,与A串联后,结果是否导通取决于A,结果为A
互补律
A+A'=1
//由于A与A’互反,并联之后,一定有一条分路导通,结果为1AA'=1
//由于A与A’互反,串联之后,一定有一部分断开,一定不导通,结果为0
重叠律
A+A=A
,AA=A
//A与A并联或串联,结果是否导通,取决于A
该定律说明一个变量多次自与、自或的结果仍为自身,即逻辑代数中不存在倍率和方幂运算。
吸收律
A+AB=A
,A(A+B)=A
//很明显,电路是否导通,取决于A
该定律说明表达式中A项包含了式中另一项,则该项可以去掉。
消去律(消因子公式)
A+A'B=A+B
,A(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)。
标准与或
如果一个逻辑表达式为与或式,而且其中每个与项都是最小项,则称该逻辑表达式为标准与或式(或者标准积之和式,或者最小项之和形式)。
任一逻辑函数表达式都可以表示为标准与或式,而且是唯一的。
标准或与
如果一个逻辑表达式为或与式,而且其中每个或项都是最大项,则称该逻辑表达式为标准或与式(或者标准和之积式,或者最大项之积形式)。
任一逻辑函数表达式都可以表示为标准或与式,而且是唯一的。
相关文章:

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

Rabbit快速入门
入门案例 需求:使用简单模式完成消息传递 步骤: 创建工程(生成者、消费者) 分别添加依赖 编写生产者发送消息 编写消费者接收消息 3.1.2. 添加依赖 往heima-rabbitmq的pom.xml文件中添加如下依赖: <dependenc…...
【react+ts- forwardRef】
reactts- forwardRef1. 学习资料2. 普通input透传2.1 TS版本2.2 JS版本3. TS-Antd-Form组价透传引用传递(Ref forwading)是一种通过组件向子组件自动传递 引用ref 的技术。对于应用者的大多数组件来说没什么作用。但是对于有些重复使用的组件,…...

计算机网络-- 网络层(day06)
文章目录网络层思维导图IPv4地址的应用规划定长的子网掩码变长的子网掩码VLSMIP数据报的发送和转发过程主机发送IP数据报路由器转发IP数据报静态路由选择动态路由选择路由选择协议概述常见的路由选择协议路由器的基本结构路由信息协议RIP的基本工作原理开放最短路径优先OSPF的基…...
docker 镜像
一、介绍 镜像:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码,运行时需要的库,环境变量和配置文件等)这个打包好的运行环境就是image镜像文件。 只有通过这个镜…...

JUC并发编程与源码分析笔记11-Java对象内存布局和对象头
先从阿里及其它大厂面试题说起 你觉得目前面试,你还有那些方面理解的比较好,我没问到的,我说了juc和jvm以及同步锁机制那先说juc吧,说下aqs的大致流程cas自旋锁,是获取不到锁就一直自旋吗?cas和synchronized区别在哪…...

JavaSE之集合篇
文章目录前言一、集合概述集合继承结构图二、Collection接口中常用方法2.1Collection中存放什么元素?2.2常用方法2.3迭代器三、List接口中常用的方法四、ArrayList初始化容量及扩容五、Vector六、Map接口常用方法七、Properties前言 由于在刷题过程中,经…...

LeetCode分类刷题-----贪心算法
贪心算法贪心455.分发饼干376.摆动序列53.最大子序和122.买卖股票的最佳时机||55.跳跃游戏45.跳跃游戏||1005.K次取反后最大化的数组和134.加油站135.分发糖果860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球,提供两种解决方案。首先,SiteWhere 的社区版 (CE) 是在 CPAL 许可下提供的。对于此解…...

【unity】rts engine 6 放置并建造建筑;
一 放置并建造建筑 GameManager -> Essential -> BuildingExtension 查看 building placement building position y offset Y轴偏移,建筑离地距离,可0.1 terrain max distance 放置建筑与允许地形的最大距离,可1 placable terrain …...
华为OD机试题 - 任务调度(JavaScript)| 含思路
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解: 任务调度题目输入输出描述示例一输入输出Code解题思路华为OD其…...
《Spring源码深度分析》第4章 自定义标签的解析
目录标题前言一、自定义标签使用二、自定义标签解析1、代码入口2、parseCustomElement【BeanDefinitionParserDelegate】2.1 resolve【DefaultNamespaceHandlerResolver】3、parse【NamespaceHandlerSupport】4、parse【AbstractBeanDefinitionParser】4.1 parseInternal【Abst…...

MATLAB绘制椭圆形相关系矩阵图
数据/代码准备 数据及代码下载: 下载专区-《MATLAB统计分析与应用:40个案例分析》程序与数据 绘图函数: matrixplot(data, PARAM1,val1, PARAM2,val2, ...) 案例 数据如下: MATLAB代码如下: clc close all clear …...
「SQL面试题库」 No_1 员工薪水中位数
🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试ÿ…...

Python机器学习17——极限学习机(ELM)
本系列基本不讲数学原理,只从代码角度去让读者们利用最简洁的Python代码实现机器学习方法。 背景: 极限学习机(ELM)也是学术界常用的一种机器学习算法,严格来说它应该属于神经网络,应该属于深度学习栏目,但是我这里把它…...

二分查找与判定树
二分查找的算法思想二分查找也称“折半查找”,要求查找表为采用顺序存储结构的有序表。本例一律采用升序排列。二分查找每一次都会比较给定值与序列[low,high]的中间元素,该元素的下标为mid (lowhigh)/2,若两者相等,则返回元素的下标为mid;如…...

反转链表(精美图示详解哦)
全文目录引言反转链表题目描述与思路实现总结引言 在学习了单链表的相关知识后,尝试实现一些题目可以帮助我们更好的理解单链表的结构以及对其的使用。 从这篇文章开始,将会介绍一些编程题来帮助我们更好的掌握单链表: 分别是反转链表、链表…...

深入理解多线程
一、线程基本概念 1、概述 线程是允许应用程序并发的一种机制。线程共享进程内的所有资源。 线程是调度的基本单位。 每个线程都有自己的 errno。 所有 pthread 函数均以返回 0 表示成功,返回一个正值表示失败。 编译 pthread 程序需要添加链接库(…...
华为OD机试题 - 英文输入法(JavaScript)
更多题库,搜索引擎搜 梦想橡皮擦华为OD 👑👑👑 更多华为OD题库,搜 梦想橡皮擦 华为OD 👑👑👑 更多华为机考题库,搜 梦想橡皮擦华为OD 👑👑👑 华为OD机试题 最近更新的博客使用说明本篇题解: 英文输入法题目输入输出示例一输入输出说明示例一输入输出Code…...
64 云原生容器化
文章目录 一、什么是rancher二、为什么使用rancher三、 Rancher与[k8s](https://so.csdn.net/so/search?q=k8s&spm=1001.2101.3001.7020)的关系及区别1、Rancher具有的优势三、rancher安装1、细部介绍四、图形化操作1、执行2、图形化操作1、进行客户机登录rancher2、Ranch…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...