美文网首页
03|布尔逻辑与逻辑门

03|布尔逻辑与逻辑门

作者: 井润 | 来源:发表于2019-11-14 23:41 被阅读0次

其中在上篇Blog中讲到了对应的电子计算机,今天我要说的是 布尔逻辑与逻辑门

涉及到的知识点有:

  • 什么是二进制,为什么要用二进制,布尔逻辑
  • 3个基本操作 Not,And,Or
  • 解释三个基础操作
  • XOR 异或
01|抽象旅程的开始

抽象的出现,让我们不必管多么底层的细节,而是将精力分配到构建更加复杂的系统中去!

上篇文章讲到的电子计算机的机电设备时使用的 十进制进行计数的,其中使用对应的齿轮数进行计数

但是后面随着技术的快速发展,慢慢开始全面推广 晶体管计算机,本文就不过多叙述,幸运的是, 开关也表示对应的信

息和状态 那么对应的开关的信息和状态使用何种形式表示的呢?

二进制 是二进制,而不是之前前文中介绍到的十进制, 而二进制分为两种,分别为 true和false

  • true表示为真
  • false表示为假

为了更好地理解,我们使用电路开关作为例子:

  • 电路闭合,电流通过 此时为true
  • 电路断开,无电流通过 此时为false

此时的你可能会好奇地问,为什么会只有二进制有没有别的呢? 为什么非要以二进制作为常用标准

其实,当初我在学习计算机科学的时候,也是比较好奇的,知道后面慢慢学的时候才慢慢明白! **在当时的时候,不仅仅是有二进制的,还存在对应的三进制和五进制 ** 对应的也就表示计算机有三种或者五种状态!

随即而来的问题就是: 状态多起来的话,信息就难以区分,不同设备之间通信信号会混乱在一起! 因此也就慢慢的使用二进制这种比较简单方便的状态进行表示!

02|布尔代数

而后面因为二进制衍生出了一种代数能够解决所有法则与运算,可能对于你来讲也许不陌生! 布尔代数!

是的 之所以叫做 布尔代数 是因为其发明者是来自于,19世纪自学成才的英国数学家 乔治布尔!

通过数学式子拓展了亚里士多德的逻辑方法,在乔治布尔1847年的书 《逻辑的数学分析》中也讲到过 他用逻辑方程,系统而正式的证明真理!

其中在我们高中,常规代数中(高中所学)变量的值为数字,市场进行常规的运算(加减乘除!)

与之不同的是,布尔代数,对应的值却不是数字,而是 true,false 进行对应的逻辑运算!

不仅如此,在对应的逻辑运算中有三种基本的操作:

  • not
  • and
  • or

对应的not从表面意思也能够看出来,取到相反的值! true的相反值为false,false的相反值为true!

那么我们可以简单的从对应的开关进行联想,输入的是true,那么输出的就是false,可以想象成为刚开始就是电路联通的状态,后面因为not(相反的操作),结果也就成为了断开的结果!

Input Operation Output
True Not False
Not True

那么对应的and,就是和的意思,或者表示与,对应的有两个输入值,一个输出,对应的两个输入值或者条件为真的时候,就表示为真,否则为假! 我只有会唱歌会跳舞才是女孩子心中的No.1 此时的问题就来了,我只会唱歌或者只会跳舞都不能够成为女孩子心中的No.1

Input1 Input2 Operation Output
True True And True
True False And False
False True And False
False False And False

剩下的就是基本的操作就是or,表示或,只需要一个为真就行了,我会唱歌或者会跳舞也可以是女孩子心中的No.1

那么我满足其中的一个条件即可成立!

Input1 Input2 Operation Output
True True Or True
True False Or True
False True Or True
False Or False

最后一个不那么常见的就是,XOR异或 表示条件中有一个为True则为True

Input1 Input2 Operation Output
True True XOR False
True False XOR True
False True XOR True
False False XOR False

这些逻辑运算不仅仅是在物理还是数学中常常遇见,在我们所谓的编程中也常常见到, 工程师在设计处理器的时候,很少在晶体管层面上思考! 主要使用逻辑组件,不用考虑逻辑物理层面上的实现,电信号第一次表示数据,真与假慢慢开始有一点 计算的意思了!

欢迎在评论区与我交流!

相关文章

  • 03|布尔逻辑与逻辑门

    其中在上篇Blog中讲到了对应的电子计算机,今天我要说的是 布尔逻辑与逻辑门 涉及到的知识点有: 什么是二进制,为...

  • 3 | 布尔 逻辑 和逻辑门

    开始抽象的流程 Binary 二进制 用两种状态表示 晶体管功能,不只是开关,还可以让不同大小电流通过。 计算机...

  • JavaScript-逻辑元算基础

    逻辑运算又称布尔代数,就是布尔值的"算数"运算。逻辑运算符包括:1,逻辑与(&&) 2,逻辑或( || ) 3,逻...

  • Solidity变量类型

    布尔型 bool:值可以是true或false操作:!(逻辑非)&& (逻辑与,“and”)|| (逻辑或,“or...

  • P3 布尔逻辑 和 逻辑门-Boolean Logic & Lo

    传送门:P3 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates 二进制的出现 在P2所...

  • 逻辑与 和 逻辑或在js中的高级运用(1)

    1、逻辑与 逻辑与操作可以应用与任何类型操作数。在有一个操作数不是布尔类型时,逻辑与操作返回的值不一定是布尔类型此...

  • js !! 和 !!~的作用

    !! 的作用 以上代码可简写为 “!”是逻辑与运算,并且可以与任何变量进行逻辑与将其转化为布尔值,“!!”则是逻辑...

  • 04|二进制

    知道上篇Blog讲到的内容主要是布尔逻辑和逻辑门,留下了一个疑问就是布尔的值只有true和false用来求对应的逻...

  • Swift 基本运算符之逻辑

    逻辑运算的操作对象是逻辑布尔值。Swift 支持基于 C 语言的三个标准逻辑运算。 逻辑非 !a逻辑与 a&&b逻...

  • 零基础学Python 读《编程小白的第一本 Python 入门

    第五章 循环与判断 5.1 逻辑控制与循环 逻辑判断一一True & False 布尔类型(Boolean)的数据...

网友评论

      本文标题:03|布尔逻辑与逻辑门

      本文链接:https://www.haomeiwen.com/subject/jszdictx.html