概述
计算机最早的是机电设备,一般使用十进制计数,比如用齿轮数来代表十进制。但是其实只用开/关两种状态已经足够表示信息了,将其称为二进制(Binary)。
在计算机中,当电流流过时,为闭合状态,表示true(1),当没有电流流过时,为断开状态,表示false(0)。但是其实晶体管可以不只是开/关状态,还可以让不同大小的电流通过,一些早期电子计算机,通过对不同电流大小进行划分,可以使用三进制、五进制等等。但问题是,状态越多就越难区分信号,如果存在电噪音,可能就会使状态十分混乱。所以为了让信号更加清晰,可以只使用“开”和“关”两种状态。
另一个使用二进制的原因是,有一整个数学分支专门处理“真”和“假”,它已解决了所有法则和运算,即布尔代数(Boolean Algebra)。
布尔代数(Boolean Algebra)与逻辑门
在布尔代数中,变量的值是true和false,能够对其进行逻辑操作。布尔代数中有三个基本操作:NOT、AND和OR。
NOT GATE
NOT:把输出端(就像水龙头左边部分送水,它送电)接在上面的电极,如果打开输出,电流就可以流过,然后“接地”,输出就没有电流,所以输出是off。当输入关闭时,电流没法接地,就流过了输出,所以输出是on。
就像是水龙头一样:
NOT操作:把布尔值进行翻转,所以NOT操作的真值表为
AND GATE
AND:为了实现“AND 门”,我们需要2个晶体管连接在一起,这样有2个输入和1个输出。如果只打开A,不打开B,电流无法留到output,所以输出是false;如果只打开B,不打开A,也一样,电流无法留到output;只有当A、B都打开了,output才有电流。
OR GATE
OR:实现OR 门除了晶体管还需要额外的线将两个晶体管(transistor)并联起来,即得到OR GATE
左侧电极为电源,下方两个电极分别表示两个输入,右侧电极为输出。只要任意一个输入开启,就能使得电源和输出电极接通,使得输出开启;当两个输入都关闭时,就使得电源和输出电极保持断开状态,使得输出保持关闭。
由此通过上方的三个组件(NOT门、AND门和OR门)可以构建出更加复杂的组件。另一个常见的布尔操作叫做异或操作。
XOR(异或)
我们有两个输入,A和B,还有一个输出。先放一个OR门。因为OR和XOR的逻辑表很像,只有一个不同点就是:当两个输入都为true时,XOR输出false,而OR输出true。通过对AND操作真值表取反,再和OR操作真值表进行对比,可以发现,第二三行都为true,而第一四行结果不同,因此只要在这两个结果后面加个AND就能得到XOR的真值表。
小结
操作真值表:
对应的罗基本表示:
最后
以上就是老实音响为你收集整理的3、布尔逻辑和逻辑门布尔代数(Boolean Algebra)与逻辑门小结的全部内容,希望文章能够帮你解决3、布尔逻辑和逻辑门布尔代数(Boolean Algebra)与逻辑门小结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复