计算机科学速成课【学习笔记】(3)——布尔逻辑和逻辑门

2024-01-10 04:35:21

????????

本集课程的B站链接

3. 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates_哔哩哔哩_bilibili3. 布尔逻辑 和 逻辑门-Boolean Logic & Logic Gates是【计算机科学速成课】[40集全/精校] - Crash Course Computer Science的第3集视频,该合集共计40集,视频收藏或关注UP主,及时了解更多相关视频内容。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1EW411u7th?p=3&vd_source=efc1c9272504933e74aad03c1db8271e

目录

1. 背景?

2. 非门-NOT

3. 与门-AND?

4. 或门-OR?

5. 异或门-XOR


1. 背景?

????????在计算机的发展历程中,计数进制一直在发生改变。在机械计算机时期(如Leibniz的步进计算机),采用齿轮数为10的齿轮来代表十进制;到后来的电子计算机时期(晶体管计算机),再想使用十进制就有点不太容易了,因为想使用通过晶体管的电流大小来表达10进制实在是太容易被干扰了!状态越多,就会越难以区分信号,假如设备要没电了或者突然受到了什么干扰,都会使最后的输出具有不确定性,科学家们尝试过五进制、三进制,后来才最终选择了二进制。

????????二进制只有“真”或“假”两个值,也可以表示成“1”或“0”。当电路闭合,电流流过的时候,表示“真”;电路断开,没有电流流过的时候表示“假”,这样的方式很难受到外界的干扰,可以让我们的计算机工作的更加稳定!

????????此外,使用二进制的另外一个原因是,有一整套的数学计算的方法,来专门处理“真”或“假”,那就是布尔代数。它是以19世纪的英国数学家?George Boole?的名字来命名的。

????????Boole?一直致力于用一种类似常规代数的计算方法,来处理亚里士多德哲学中的逻辑问题。对比于代数中的加减乘除,布尔代数也有三个基本计算方式,那就是“与”AND,“或”OR,“非”NOT。

????????在了解三种基本门电路之前,我们先大致了解一下晶体管是怎么工作的。晶体管有三个引脚,分别是基极(B-base)、集电极(C-collector)、发射极(E-emitter)。当电流从基极流向发射极时,三极管导通,以便更大的电流可以从集电极流向发射极(有种抛砖引玉的赶脚)。把三极管比作为一个水龙头的话,就是将开关(B)打开,水流就会从水管流出(C → E)。打开这个水龙头的代价大约是0.7V的电压。

????????下面让我们分别来了解一下,并用晶体管制作出这三种基本门电路:

2. 非门-NOT

????????非门为单输入单输出逻辑运算,是将输入的布尔值进行取反操作,输入与输出的对应表如下:

输入输出
TrueFalse
FalseTrue

? ? ? ? 假如将晶体管的集电极连在高电平上,把发射极接地,那么一个非门就做好了!这个非门的输入是基极,输出是集电极。假如输入为0(即基极电压不足以使晶体管导通),那么集电极的电压就为高电平电压,即输出为1;假如输入为1(基极电压使晶体管道通),那么集电极相当于直接连到了地上,为低电压,即输出为0。

????????? ??

3. 与门-AND?

????????与门需要两个输入,只有当着两个输入同时为真的时候,输出才为真,只要任意一个输入为假,则输出就为假。

Input 1Input 2Output
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

????????制造与门电路,需要将两个晶体管串联起来。这样,用两个晶体管的控制电路作为输入,就必须两个输入端都接通,输出电路才有电流流过。

4. 或门-OR?

????????或门同样需要两个输入,并且只要任意一个输入为“真”,则输出就为真;只有当两个输入都为“假”的时候,结果为“假”。

Input 1Input 2Output
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

?????????有了这3种基本门电路,我们可以开始构建更复杂一点的逻辑电路了

5. 异或门-XOR

?????????若两个输入相异,则输出为真;若两个输入的电平相同,则输出为假。即如果两个输入不同,则异或门输出真。鱼和熊掌不可兼得也。

Input 1Input 2Output
TrueTrueFalse
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

????????利用晶体管来制造“异或”门电路就相当复杂了,还好我们可以用抽象出来的工具“与”、“或”、“非”门来组装它:

????????

????????从现在开始,我们终于可以用电信号来表示我们的数据(真、假)了!

????????本集内容完毕,下集再见!

文章来源:https://blog.csdn.net/weixin_58283091/article/details/135304799
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。