计算机最基础的核心理论——布尔逻辑

布尔逻辑是计算机科学的核心,所有现代智能设备的芯片都基于逻辑门,逻辑门的理论基础是布尔逻辑。乔治布尔通过二进制将逻辑与数学结合,实现了逻辑计算。逻辑"或"和"与"可以用加法和乘法表示,通过二进制运算连接算术与逻辑。本文深入浅出地介绍了逻辑门的工作原理,包括"或"门和"与"门的机械实现,并探讨了如何组合这些门以实现更复杂的逻辑功能。

布尔逻辑是计算机最基础的核心理论,为什么这么说呢?因为不管是我们使用的手机电脑或是其它的智能设备都是基于存储芯片和处理芯片,虽然这些芯片的外观和构成都不同,但它们的基本模块却是一样的,都是基于逻辑门构建而成。逻辑门的理论基础就是布尔逻辑,我们可以使用不同的介质材料和制造工艺来实现逻辑门,这不会影响它的逻辑行为。

558c4e373a1831806eb4a1d90447c50a.png

布尔逻辑中的布尔其实是一个人名,编程人员很熟悉的布尔类型就是这个布尔。布尔全名为乔治布尔,他是英国的一个数学家,他最大成就就是通过二进制将逻辑与数学进行了融合,从而使逻辑能进行计算操作。

f5950827b750f94593e04c676d928865.png

算术可以执行加法和乘法,而基本逻辑主要是“或”和“与”,能否也用加法和乘法来表达计算呢?逻辑或表示两个命题只要其中一个为真命题就是真,可使用加法和乘法来表示。逻辑与表示两个命题都要为真命题才是真,对应乘法运算。上述运算只有在0和1的情况下才能成立,所以只有通过二进制运算才能将算术与逻辑串连起来。

下图是逻辑“或”的机械组成,主要包括三个滑竿和一个弹簧,当滑竿不动时表示信号为0,而当滑竿向右移时表示信号为1。左边两个滑竿分别表示输入X和输入Y,当其中一个滑竿向右移动后将通过挡板压缩弹簧并推动右边的滑竿向右移动,从而使得输出Z的信号为1。当输入的滑竿往左移回时,输出Z的滑竿在弹簧的作用下重新弹回原处。我们可以看到,不管是输入X还是输入Y的右移都将使输出Z右移,从而实现了逻辑“或”功能。

0bc27fe4884874bf3c976c7977eb0102.png

为了说明逻辑“与”功能,我们要先来了解逻辑“非”的机械组成。它能将输入信号反置,比如输入信号为1则输出信号为0,反之亦然。当输入X的滑竿向右移时将导致输出Z的滑竿向左拉伸,而当输入X的滑竿向左移时输出Z的滑竿在弹簧的拉力下向右拉回。

b0a7f39848fd607f2867ef8432da929b.png

有了逻辑“或”和逻辑“非”组件后我们看下如何将它们组装成逻辑“与”,先将两个“非”组件的输出端对接到“或”组件上作为它的输入,然后再将“或”组件的输出端对接到另外一个“非”组件上作为其输入,最终的组成图如下所示。当输入X和输入Y都为1时,两个“非”组件的输出滑竿都将拉伸弹簧并向左移,此时“或”组件的挡板在弹簧的弹力下也朝左边移动,最后的“非”组件在弹簧的拉力下向右移动,最终的输出Z为1。注意到假如两个输入只有一个为1,那么将无法引起挡板向左移,也就是说输出Z都为0。

d45e7358c4bfd0d141eebd699c8aaefd.png

本公众号专注于人工智能、读书与感想、聊聊数学、计算机科学、分布式、机器学习、深度学习、自然语言处理、算法与数据结构、Java深度、Tomcat内核等。

作者简介:笔名seaboat,擅长人工智能、计算机科学、数学原理、基础算法。出版书籍:《Tomcat内核设计剖析》、《图解数据结构与算法》、《人工智能原理科普》、《图解Java并发原理》。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值