布尔逻辑是计算机最基本的核心理论。为什么这么说?因为我们使用的手机、电脑或其他智能设备都是基于存储芯片和处理芯片的。虽然这些芯片的外观和组成不同,但它们的基本模块是相同的,是基于逻辑门。逻辑门的理论基础是布尔逻辑。我们可以使用不同的介质材料和制造工艺来实现逻辑门,这不会影响其逻辑行为。
布尔逻辑中的布尔实际上是一个人的名字。这种布尔是编程师熟悉的布尔类型。布尔的全名是乔治布尔。他是英国的数学家。他最大的成就是通过二进制将逻辑与数学相结合,使逻辑能够计算。
算术可以执行加法和乘法,基本逻辑主要是或和和。它也可以用加法和乘法来表达计算吗?逻辑或表示,只要其中一个是真实的命题,就可以用加法和乘法来表示。逻辑和表示两个命题都应该是真实的命题,相应的乘法操作。上述操作只能在0和1之间建立,因此只有通过二进制操作才能连接算术和逻辑。
下图是逻辑或的机械组成部分,主要包括三个滑杆和一个弹簧。滑杆不动时,信号为0,滑杆向右移动时,信号为1。左两个滑杆分别表示输入X和输入XY,当其中一个滑杆向右移动时,通过挡板压缩弹簧,将右滑杆向右移动,使输出Z的信号为1。当输入滑杆向左移动时,输出Z的滑杆在弹簧的作用下再次弹回原处。可见,输入X和输入Y的右移都会使输出Z右移,从而实现逻辑或功能。
为了解释逻辑和功能,我们应该首先了解逻辑非的机械组成。它可以反置输入信号,例如,如果输入信号为1,则输出信号为0,反之亦然。当输入X的滑杆向右移动时,输出Z的滑杆将向左拉伸,当输入X的滑杆向左移动时,输出Z的滑杆将在弹簧的张力下向右拉回。
有了逻辑或和逻辑非组件,让我们看看如何将它们组装成逻辑和。首先,将两个非组件的输出端连接到或组件上作为其输入,然后将或组件的输出端连接到另一个非组件上作为其输入。最终组图如下。当输入X和输入Y为1时,两个非组件的输出滑杆将拉伸弹簧并向左移动。此时,或组件的挡板也在弹簧的弹性下向左移动,最后的非组件在弹簧的拉力下向右移动,最终输出Z为1。注意到假如两个输入只有一个为1,那么将无法引起挡板向左移,也就是说输出Z都为0。