草庐IT

常见七种逻辑门真值表

Star、H 2023-07-11 原文

文章目录


前言

        逻辑电路是一种离散信号的传递和处理,以二进制为原理、实现数字信号逻辑运算和操作的电路。分组合逻辑电路时序逻辑电路。前者由最基本的“与门”电路、“或门”电路和“非门”电路组成,其输出值仅依赖于其输入变量的当前值,与输入变量的过去值无关—即不具记忆和存储功能;后者也由上述基本逻辑门电路组成,但存在反馈回路—它的输出值不仅依赖于输入变量的当前值,也依赖于输入变量的过去值。由于只分高、低电平,抗干扰力强,精度和保密性佳。广泛应用于计算机、数字控制、通信、自动化和仪表等方面。最基本的有与电路、或电路和非电路。

一、逻辑门电路是什么?

        逻辑电路是指完成逻辑运算的电路。这种电路,一般有若干个输入端和一个 或几个输出端,当输入信号之间满足某一特定逻辑关系时,电路就开通,有输 出;否则,电路就关闭,无输出。所以,这种电路又叫逻辑门电路,简称门电路

        简单的逻辑电路通常是由门电路构成,也可以用三极管来制作。

二、七种常见逻辑门

1.与门(AND)

所有输入为高时,才会有输出高。逻辑函数表示为Y=A*B。真值表如下:

输入A输入B输出Y
000
010
100
111

CMOS 电路:

2.或门(OR)

所有输入为低时,才会有输出低。逻辑函数表示为Y= A + B。 真值表如下:

输入A输入B输出Y
000
011
101
111

CMOS 电路:

3.非门(NOT)

逆转输入的高低状态。逻辑函数表示为Y=A’。 真值表如下:

输入A输出Y
01
10

 CMOS 电路:

4.与非门(NAND)

所有输入为高时,才会有输出低。逻辑函数表示为Y=(A*B)’。 真值表如下:

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

5.或非门(NOR)

所有输入为低时,才会有输出高。逻辑函数表示为Y=(A + B)’。 真值表如下:

输入A输入B输出Y
001
010
100
110

6.异或门(XOR)

输入相同时输出为低,否则为高。逻辑函数表示为Y=A’B + AB’。 真值表如下:

输入A输入B输出Y
000
011
101
110

7.同或门(XNOR)

与异或门相反。输入相同时输出为高,否则为低。逻辑函数表示为Y= A*B + A’*B’。  真值表如下:

输入A输入B输出Y
001
010
100
11

1


总结

有关常见七种逻辑门真值表的更多相关文章

  1. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  2. ruby-on-rails - ruby 日期方程不返回预期的真值 - 2

    为什么以下不同?Time.now.end_of_day==Time.now.end_of_day-0.days#falseTime.now.end_of_day.to_s==Time.now.end_of_day-0.days.to_s#true 最佳答案 因为纳秒数不同:ruby-1.9.2-p180:014>(Time.now.end_of_day-0.days).nsec=>999999000ruby-1.9.2-p180:015>Time.now.end_of_day.nsec=>999999998

  3. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  4. ruby - 将对象设置为 nil 是否很常见? - 2

    我正在构建一个应用程序,想知道是否将未使用的对象设置为nil是生产级编码中的常见做法。我知道这只是垃圾收集器的提示,并不总是处理对象。 最佳答案 根据这个thread如果您使用完一个成员对象,将其设置为nil将引发被引用对象被垃圾回收。如果它是局部变量,方法exit将做同样的事情。也就是说,如果您要求将成员显式设置为nil,我会质疑您的设计。 关于ruby-将对象设置为nil是否很常见?,我们在StackOverflow上找到一个类似的问题: https://

  5. ruby - 变量赋值后的 if 语句 - 有多常见? - 2

    我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby

  6. 常见网络安全产品汇总(私信发送思维导图) - 2

    安全产品安全网关类防火墙Firewall防火墙防火墙主要用于边界安全防护的权限控制和安全域的划分。防火墙•信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙是一个由软件和硬件设备组合而成,在内外网之间、专网与公网之间的界面上构成的保护屏障。下一代防火墙•下一代防火墙,NextGenerationFirewall,简称NGFirewall,是一款可以全面应对应用层威胁的高性能防火墙,提供网络层应用层一体化安全防护。生产厂家•联想网御、CheckPoint、深信服、网康、天融信、华为、H3C等防火墙部署部署于内、外网编辑额,用于权限访问控制和安全域划分。UTM统一威胁管理(Un

  7. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  8. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  9. ruby - 如果哈希中只有一个特定键具有真值(所有其他值均为假),如何返回真 - 2

    例如:options={fight:true,use_item:false,run_away:false,save_game:false}我想要一个计算结果为true的bool表达式,当且仅当:fight为true,其余为false(如上图所示)。我可以一起解决这个问题,但我正在努力训练自己编写更优雅的ruby​​。谢谢!编辑:黑客是:(options[:fight]==true&&options.delete(:fight).values.all{|x|!x}) 最佳答案 假设所有值都是严格的bool值,它很简单:options=

  10. ruby-on-rails - Ruby 和 SQL 中的重复业务逻辑 - 2

    我有一个PORO(普通旧Ruby对象)来处理一些业务逻辑。它接收一个ActiveRecord对象并对其进行分类。为了简单起见,以下面为例:classClassificatorSTATES={1=>"Positive",2=>"Neutral",3=>"Negative"}definitializer(item)@item=itemenddefnameSTATES.fetch(state_id)endprivatedefstate_idreturn1if@item.value>0return2if@item.value==0return3if@item.value但是,我还想根据这些st

随机推荐