3、布尔逻辑和逻辑门

计算机最早的是机电设备,一般使用十进制计数,比如用齿轮数来代表十进制。但是其实只用开/关两种状态已经足够表示信息了,将其称为二进制(Binary)

在计算机中,当电流流过时,为闭合状态,表示true(1),当没有电流流过时,为断开状态,表示false(0)。但是其实晶体管可以不只是开/关状态,还可以让不同大小的电流通过,一些早期电子计算机,通过对不同电流大小进行划分,可以使用三进制、五进制等等。但问题是,状态越多就越难区分信号,如果存在电噪音,可能就会使状态十分混乱。所以为了让信号更加清晰,可以只使用“开”和“关”两种状态。

另一个使用二进制的原因是,有一整个数学分支专门处理“真”和“假”,它已解决了所有法则和运算,即布尔代数(Boolean Algebra)

布尔代数(Boolean Algebra)与逻辑门

在布尔代数中,变量的值是true和false,能够对其进行逻辑操作。布尔代数中有三个基本操作:NOT、AND和OR。

NOT GATE

NOT:把输出端(就像水龙头左边部分送水,它送电)接在上面的电极,如果打开输出,电流就可以流过,然后“接地”,输出就没有电流,所以输出是off。当输入关闭时,电流没法接地,就流过了输出,所以输出是on。

NOT GATE

就像是水龙头一样:

水龙头关着

水龙头开着

NOT操作:把布尔值进行翻转,所以NOT操作的真值表为

NOT 真值表

NOT GATE的表示图

AND GATE

AND:为了实现“AND 门”,我们需要2个晶体管连接在一起,这样有2个输入和1个输出。如果只打开A,不打开B,电流无法留到output,所以输出是false;如果只打开B,不打开A,也一样,电流无法留到output;只有当A、B都打开了,output才有电流。

image-20200310012335375

AND GATE表示图

OR GATE

OR:实现OR 门除了晶体管还需要额外的线将两个晶体管(transistor)并联起来,即得到OR GATE

OR GATE

image-20200310020006112

左侧电极为电源,下方两个电极分别表示两个输入,右侧电极为输出。只要任意一个输入开启,就能使得电源和输出电极接通,使得输出开启;当两个输入都关闭时,就使得电源和输出电极保持断开状态,使得输出保持关闭。

OR GATE表示图

由此通过上方的三个组件(NOT门、AND门和OR门)可以构建出更加复杂的组件。另一个常见的布尔操作叫做异或操作

XOR(异或)

XOR

我们有两个输入,A和B,还有一个输出。先放一个OR门。因为OR和XOR的逻辑表很像,只有一个不同点就是:当两个输入都为true时,XOR输出false,而OR输出true。通过对AND操作真值表取反,再和OR操作真值表进行对比,可以发现,第二三行都为true,而第一四行结果不同,因此只要在这两个结果后面加个AND就能得到XOR的真值表。

小结

操作真值表:

XOR操作真值表

NOT操作真值表

AND操作真值表

OR操作真值表

对应的罗基本表示:

逻辑门的表示图


发布了33 篇原创文章 · 获赞 10 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览