当前位置: 首页 > news >正文

布尔逻辑与逻辑门

计算机为什么使用二进制:

  • 计算机的元器件晶体管只有 2 种状态,通电(1)& 断电(0),用二进制可直接根据元器件的状态来设计计算机。
  • 而且,数学中的“布尔代数”分支,可以用 True 和 False(可用 1 代表 True,0 代表 False)进行逻辑运算,代替实数进行计算。
  • 计算的状态越多,信号越容易混淆,影响计算。对于当时每秒运算百万次以上的晶体管,信号混淆是特别让人头疼的的。

布尔代数&布尔代数在计算机中的实现

  • 变量:没有常数,仅 True 和 False 这两个变量。
  • 三个基本操作:NOT/AND/OR。
  • 为什么称之为“门”:控制电流流过的路径

逻辑门的符号表示
  • 作用:将逻辑门简化,将逻辑门用于构建更大的组件,而不至于太复杂。
  • 图示:
    • 非门:用三角形+圆圈表示
    • 与门:用 D 型图案表示
    • 或门:用类似 D 向右弯曲的图案表示
    • 异或门:用或门+一个圆弧表示
NOT 操作:

InputOutput
TrueFalse
FalseTrue
  • 命名:称为 NOT 门/非门。
  • 作用:将输入布尔值反转。输入的 True 或 False,输出为 False 或 True。
  • 晶体管的实现方式:
    • 半导体通电 True,则线路接地,电流顺着大管道流向地,输出无电流,为 False。
    • 半导体不通电 False,则输出电流从右边输出,为 True。

AND 操作:

Input AInput BOutput
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse
  • 命名:AND 门/与门
  • 作用:由 2 个输入控制输出,仅当 2 个输入 input1 和 input2 都为 True 时,输出才为 True,2 个输入的其余情况,输出均为 False。可以理解为,2 句话(输入)完全没有假的,整件事(输出)才是真的。
  • 用晶体管实现的方式:
    • 串联两个晶体管,仅当 2 个晶体管都通电,输出才有电流(True)

OR 操作

Input AInput BOutput
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
  • 命名:OR 门/或门
  • 作用:由 2 个输入控制输出,只要其中一个输入为 True,则输出 True。
  • 用晶体管实现的方式:
    • 使用 2 个晶体管,将它们并联到电路中,只要有一个晶体管通电,则输出有电流(True)。
特殊的逻辑运算——异或

Input AInput BOutput
TrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse
  • 命名:XOR 门/异或门
  • 作用:2 个输入控制一个输出。当 2 个输入均为 True 时,输出 False,其余情况与 OR 门相同。
  • 图示:
    • 先用一个 OR 门,将其与 AND 门并联,AND 门与 NOT 门串联,最后让 NOT 与 AND 门并联,获得输出。

http://www.lryc.cn/news/291380.html

相关文章:

  • opencv-python计算视频光流
  • Spring 中获取 Bean 对象的三种方式
  • centos系统安装Ward服务器监控工具
  • 计算机网络-数据交换方式(电路交换 报文交换 分组交换及其两种方式 )
  • 【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
  • 【创建vue项目的两种方式】
  • 2. HarmonyOS应用开发DevEcoStudio准备-1
  • 《二叉树》——3(层序遍历)
  • HarmonyOS应用开发者基础认证考试答案
  • 【前端素材】bootstrap3 实现地产置业公司source网页设计
  • C++ 数论相关题目 博弈论 Nim游戏
  • 机器学习---无偏估计
  • C语言基础13
  • 【Java】Maven配置加载到全局
  • 右手螺旋线定则
  • 2024 高级前端面试题之 React 「精选篇」
  • OSPF协议解析及相关技术探索(C/C++代码实现)
  • 如何恢复已删除的照片?
  • VMware虚拟机安装macOS
  • API管理协作工具:Apipost
  • GPT-SoVITS 本地搭建踩坑
  • 【教学类-34-02】20240130纸尺2.0 (A4横版5条,刻度25*5=125CM,有图案)
  • iText操作pdf
  • 关于SQLite 的下载与使用。配合python
  • java面向对象基础(面试)
  • 【C++修行之道】STL(初识list、stack)
  • 【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase
  • 什么是模板方法模式?它的实现方式有哪些?
  • java:实现查询MySQL数据库中的数据,并导出excel、pdf类型文档(超详细)
  • Java后端须知的前端知识