数字电子技术基础第二章随手笔记--逻辑代数基础_weixin_34218579的博客-程序员秘密

二值逻辑:只有对和错两种逻辑,可以用0和1表示。

 

逻辑可以运算

 

逻辑运算是一种逻辑间的推理运算,与常量运算有着本质区别。

 

三种基本运算:

与(乘Y=AB)或(加Y=A+B)非(求反Y=~A/Y=~B)

 

真值表很简单。

 

非门(也称作反相器)

 

本书采用逻辑图的“特定外形符号”(也就是采用比较 圆滑那种)

 

同或 与 异或 互为相反

 

通用公式:

        结合 A(BC)=(AB)C

        莫甘娜定律(AB)'=A'+B'    (A+B)' = A'B'

        (A')' = A

        分配 A(B+C)=AB+AC    A+BC=(A+B)(A+C) 因为A^2=A

 

常用公式:

    A+AB = A      A+A'B=A+B  AB+AB'=A

    AB+A'C+BCX=AB+A'C(X可以随意)

 

带入定理:逻辑式子中有变量A,则可用新的逻辑式代换A。结果依然成立

 

反演定理:把逻辑式中的×变成+,+变成×,0与1互换,变量与反变量互换,则结果变成Y'

 

对偶定理:一个Y,将加乘互换,01互换,变量保持不反,得到Y(D),叫做对偶式

                作用:证明两个式子相等,证明对偶式相等就能证明了,因为有的时候用对偶式证明更简单。(书上前面的式子1-8使用对偶定理可以得到后面的一大串等价公式。)

 

逻辑函数:有一个输出结果Y,由A,B,C共同决定,则Y=F(A,B,C)。

 

如:B,C开关并联后与A串联,则Y为通路:Y=A(B+C)

 

逻辑函数表示方法:1真值表 2函数式 3逻辑图 4波形图(时序图)

 

通过真值表写出逻辑函数式:只需要对应Y=1的各式子相加。

 

逻辑函数的两种标准形式:

1最小项之和(乘积项相加)(共有2^n个最小项)

        相邻最小项(只有一个因子不同)可以消去不同因子。如:ABC'+A'BC'=BC‘

        输入变量的每一组取值都使一个对应的最小项的值等于1

2最大项之积(相加项之乘积)(共有2^n个最大项)

        输入变量的每一组取值都使得一个对应的最大项的值为0.

 

通过补全乘(A+A')来获得最小项。

通过先求最小项在求最大项或者先化简为或与形式,然后再通过加(AA')实现。

 

逻辑函数的特殊变化:

    如何化成与非:由莫甘娜定律即可。Y=((AC+BC')')' = ((AC)'(BC)')'

    如何化成与或非:将不包含在Y中的最小项之和(Y’)求反,即可得到与或非的Y。

    如何化成或非形式:先求出与或非形式,然后利用反演定理即可搞定。

 

逻辑函数的化简:

1.公式法:

        (1)并项(AB+AB'=A)  (2)吸收(A+AB=A)  (3)消项(AB+A'C+BC=AB+A'C,,,,AB+A'C+BCD = AB+A'C)  (4)消因子法(A+A'B=A+B)  (5)配项(A+A=A)

 

2.卡诺图化简法:

    如何作出卡诺图:书中P44,百度百科也可以。

    使用卡诺图化简逻辑函数是的原理:前面我们知道,具有相邻性的两个逻辑式可以化简。因此卡诺图上相邻的元素(它们也逻辑相邻)可以化简。使用圈圈法。

 

    也可以采用圈0法得到Y',在得到Y,这样可以得到与或非形式。

 

具有无关项的逻辑函数及其化简:

        什么是约束项?就是比如A,B,C只能同时取一个为真,共三种情况(Y1,Y2,Y3),而其他情况不可能出现,也就是其他项对应的最小项恒为0,即:

                            A'B'C'+A'BC+AB'C+ABC'+ABC = 0

    这些恒为0的最小项称为函数Y1,Y2,Y3的约束项。

 

约束项可以加入函数也可以去掉,因为它们恒为0.

 

无关项在函数化简中的作用:

        无关项可以加入函数也可以不加入。在卡诺图中,用x表示无关项。则X可以是1,也可以是0.从而使得逻辑函数得到化简。

 

转载于:https://my.oschina.net/qkmc/blog/692811

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34218579/article/details/91616343

智能推荐

lambda函数用法_iukede的博客-程序员秘密

lambda非常重要的一个定义。lambda在【运行时】才绑定,【不是】在定义的时候绑定。下面这个列子:本意想:让X分别与0到1的数相加。x+0,x+1,x+2,x+3实际运行结果是:0000原因就是上面提到的,运行时才绑定。先运行的for循环,无法捕捉到循环。func = [lambda x: x + n for n in range(4)] # x+n,n是从0到3 For循环,x+0,x+1,x+3for f in func: print(f(0)) # 打印func列表

synchronized 和java.util.concurrent.locks.Lock 的异同_kobejayandy的博客-程序员秘密

主要相同点: Lock能完成synchronized所实现的所有功能主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放

linux 虚拟网卡 dpdk,DPDK在虚拟机上的安装和使用_weixin_39975122的博客-程序员秘密

DPDK的安装与使用最近从老板那里拿到一个将Intel DPDK移植到龙芯平台的任务,上网查了下资料关于它的资料真是少之又少,看来是个大坑啊,于是就自己摸索着来吧,这里感谢下朝阳_tony,他那里提供了许多许多关于DPDK详实的资料和心得。虚拟机环境搭建首先由于手头没有多网卡的linux x86的机器,所以很自然的想到了使用虚拟机安装DPDK。我给虚拟机分配了4GB的内存,4个处理器核,3块虚拟网...

Matlab中的函数三维图GUI实现案列_秋刀鱼程序编程的博客-程序员秘密

% --- Executes just before guiTest is made visible.----------创建需要划图的主要函数function guiTest_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defin

this.$router.push 通过代码跳转路由_Dev _的博客-程序员秘密

很多情况下,我们在执行点击按钮跳转页面之前还会执行一系列方法,这时可以使用 this.$router.push(location) 来修改 url,完成跳转。push 后面可以是对象,也可以是字符串:// 字符串this.$router.push('/home/first')// 对象this.$router.push({ path: '/home/first' })// 命名的路由...

信号的捕捉 signal函数(sigaction) Linux系统编程_Mr.禾的博客-程序员秘密

捕捉定时信号#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<fcntl.h>#include<sys/types.h>#include<sys/time.h>#include<signal.h>void myfunc(int signo){ printf("hello world!\n");}int main(){

随便推点

python实现最小最大规范化_最小最大规范化 python_Andy_2259的博客-程序员秘密

默认将数据映射到[0,1]区间def min_max(list,new_min=0,new_max=1): ''' 最小最大规范化 :param list: 要规范化的列表 :param new_min: 映射区间最小值,默认为0 :param new_max: 映射区间最大值,默认为1 :return: 在映射区间的新列表 ''' list_new=[] for i in list: ii = ((i - np.mi

Json.NET常用方法汇总(可解决日常百分之90的需求)_json.net怎么用_哈丨吅的博客-程序员秘密

0.Json.NET基础用法  NuGet搜索Newtonsoft.Json下载并引用至项目。(1)序列化实体类(将实体类对象序列化为Json字符串) using System;using Newtonsoft.Json;namespace Json_NET_Test{ /// <summary> /// 定义一个实体类 /// </summary> public class Student { publ

hibernate inverse属性_iteye_3312的博客-程序员秘密

inverse的含义说得玄乎点是控制翻转,说得普通就是关系的维护有谁来做。因为在关系数据库里面table和table之间是通过外键维护关系的(1-1,1-n),对于1-n的情况,很显然,外键由N的一方来维护比有1的一方来维护要好,这就是OOP中的has a的关系,用hibernate进行数据存取的时候如果在集合属性里面不设置inverse=true,那么在保存n后,hibern...

plsql使用方法(主要是sql语句)_plsql运行sql语句_e哥的成长录的博客-程序员秘密

PLSQL_Developer使用方法及技巧1、PL/SQL  Developer记住登陆密码  在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;  设置方法:PL/SQL Developer...

vue-styled-components_weixin_39107093的博客-程序员秘密

1.   安装npm install vue-styled-components2.  在一个组件中引入<template> <div> <StyleButton background='#000'>马上投标</StyleButton> </div> </template><s...

推荐文章

热门文章

相关标签