我是靠谱客的博主 天真手套,最近开发中收集的这篇文章主要介绍计算机速成课 第三集 布尔逻辑和逻辑门,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 计算机最早是机电设备,一般使用十进制计数

例如:用齿轮来代表十进制。

2. 再到晶体管计算机,只用「开 / 关」两种状态也可以代表信息,我们称之为「二进制」,意思是「用两种状态表示」

例如:自行车有两个轮子,双足动物有两条腿,
* 不同的是,晶体管可以不只是「开/关」,还可以让不同大小的电流通过。

3. 为什么一定要用二进制?除了二进制,还可以有更多种的状态吗?

* 也许你可能觉得两种状态不多,确实是这样。但如果只需要表示 true 和 false,两个值就够了。

* 二进制也可以写成 0 和 1 ,而不是 true 或 false,这些只是不同的表达方式。

* 一些早期电子计算机是三进制的,有 3 种状态,还有五进制,5 种状态。

* 问题是:状态越多,越难区分信号。
    举例:如果手机快没电了,或者附近有电噪音,因为有人在用微波炉,信号可能会混在一起,而每秒变化百万次的晶体管会让这个问题变得更糟
    所以,尽可能将两种信号分开,只用「开」和「关」两种状态,来尽可能减少这类问题

4. 计算机使用二进制的另一个原因:

* 有一整个数学分支叫「布尔代数」存在,专门处理「真」和「假」,解决了所有法则和运算,在布尔代数中,变量的值是 true 和 false, 能进行逻辑操作。

* 「乔治·布尔」是「布尔」二字的由来,是一位 19 世纪,自学成才的英国数学家。他有兴趣用数学公式来扩展亚里士多德基于哲学的逻辑方法,用「逻辑方程」系统而正式的证明真理。
    1847年,第一本书「逻辑的数学分析」中介绍过,在「常规」代数里(在高中学的那种),变量的值是数字,可以进行加法或乘法之类的操作。
    但在布尔代数中,变量的值是 true 和 false,能进行逻辑操作。

* 布尔代数有3个基本操作:
    1)NOT:反转布尔值,也叫做“NOT门” 。叫“门”,是因为它可以控制电流的路径,可以把控制线,当作输入;底部的电极,当作输出。
    2)AND :门,串联,必须有两条通路。
    3)OR:门,并联,有一条电路通即可。
        * 现在我们可以进行一次抽象:晶体管和电线依然在那里,我们只是用符号来代表而已。
    4)异或,简称 XOR。
        * XOR 就像普通的 OR, 但是有一个区别:如果两个输入都是 true, XOR 输出 false; 如果想要 XOR 输出 true, 一个输入必须是 true, 另一个输入必须是 false。
        * XOR 非常有用,工程师给了它一个符号,一个 OR 门 + 一个笑脸。
        * 现在可以把 XOR 放入「工具箱」了,不用担心 XOR 具体用了几个门,这几个门又是怎么用晶体管拼的,或电子是怎么流过半导体的。
        * 再次向上抽象:
            1 工程师在设计处理器时,很少在晶体管的层面上思考,而是用更大的组件,比如逻辑门,或者由逻辑门组成的更大组件;
            2 就算是专业程序员,也不用考虑逻辑是怎样在物理层面实现的。

5. 总结

从电信号开始,到现在第一次表示数据,开始有点「计算」的感觉了。仅用这集讲的「逻辑门」,我们可以判断复杂的语句。
    * 举例:[如果是 John Green] AND [下午 5 点后] OR [周末] AND [在比萨店附近],那么[John 想要比萨] = 真

最后

以上就是天真手套为你收集整理的计算机速成课 第三集 布尔逻辑和逻辑门的全部内容,希望文章能够帮你解决计算机速成课 第三集 布尔逻辑和逻辑门所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部