计算机最早的是机电设备,一般使用十进制计数,比如用齿轮数来代表十进制。但是其实只用开/关两种状态已经足够表示信息了,将其称为二进制(Binary)。
在计算机中,当电流流过时,为闭合状态,表示true(1),当没有电流流过时,为断开状态,表示false(0)。但是其实晶体管可以不只是开/关状态,还可以让不同大小的电流通过,一些早期电子计算机,通过对不同电流大小进行划分,可以使用三进制、五进制等等。但问题是,状态越多就越难区分信号,如果存在电噪音,可能就会使状态十分混乱。所以为了让信号更加清晰,可以只使用“开”和“关”两种状态。
另一个使用二进制的原因是,有一整个数学分支专门处理“真”和“假”,它已解决了所有法则和运算,即布尔代数(Boolean Algebra)。
布尔代数(Boolean Algebra)与逻辑门
在布尔代数中,变量的值是true和false,能够对其进行逻辑操作。布尔代数中有三个基本操作:NOT、AND和OR。
NOT GATE
AND GATE
OR GATE
OR:实现OR 门除了晶体管还需要额外的线将两个晶体管(transistor)并联起来,即得到OR GATE
左侧电极为电源,下方两个电极分别表示两个输入,右侧电极为输出。只要任意一个输入开启,就能使得电源和输出电极接通,使得输出开启;当两个输入都关闭时,就使得电源和输出电极保持断开状态,使得输出保持关闭。
由此通过上方的三个组件(NOT门、AND门和OR门)可以构建出更加复杂的组件。另一个常见的布尔操作叫做异或操作。