布尔逻辑计算机的基石是什么(布尔逻辑运算与的作用)
导语:布尔逻辑,计算机的基石
在学习分支语句之前,我们先学习和了解他背后的数学基础,布尔逻辑。
布尔逻辑里面,只有两个数,真与假。
真在不同的业务场景,有如下名称
1,高电平,开,Vcc
假有如下名称
0,低电平,关,GND
接下来探讨对这个数集{0, 1}的运算,
在理解这些运算符之前,先引入一个工具,真值表(truth table)。
P
Q
AND
(∧)
OR
(∨)
NAND
(~∧)
NOR
(~∨)
XOR
(⊻)
Conditional
(⇒)
Bi-conditional
(⇔)
T
T
T
T
F
F
F
T
T
T
F
F
T
T
F
T
F
F
F
T
F
T
T
F
T
T
F
F
F
F
F
T
T
F
T
T
左边两列为变量p与q,第三列开始为基于操作符的布尔运算式。每一行代表在p与q的当前取值下,表达式的取值。
最基本的有三种,与(AND),或(OR),非(NOT)。
真值表虽然全面,但不够简洁。大家更喜欢用数学表达式来描述布尔运算式。
A 与 B 写成 A•B,
A 或 B 写成 A + B
非 A 写成Ā
但这些符号用键盘输入都很不方便,计算机语言通常用,&, |, ~来替换。
A 与 B 写成 A && B
A 或 B 写成 A || B
非 A 写成 !A
布尔表达式有两种写法风格,一种写成 + 连接起来,一种是用 •连接起来。
第一种乘积之和,英文对应Product Of Sum (POS),写起来最简单,我们按照真值表,每一行对于一个项目,直接加起来就可以了。
比如 A 与 B,按上面真值表可以直接写成
A 与 B = (A 与 B) 或 (A 与 (非 B)) 或 (非A)与 B 或 (非A)与 非 B
布尔逻辑在计算机行业也有两个发展,一个是应用在大规模数字集成电路设计上。这一伟大想法来自天才科学家香农。他在硕士期间,发表重要论文《A Symbolic Analysis of Relay and Switching Circuits(继电器与开关电路的符号分析)》,开创了数字电路设计的新职业。
下面就是一个典型的2位数字加法器的电路设计:
两位加法器
还有一个方向,则是命题逻辑,这是构建我们现实的业务系统与程序代码的桥梁。
命题逻辑里面最基本的就是三段论。据说是亚里士多德提出来的。
三段论的基本格式如下:
A推导出B -- 大的前提
如果x满足A, -- 小的前提
则有x满足B。 -- 推论
最经典的段子,每个人都要死,我们都是人,我们都会死。
与之相对于的则是计算机软件实现。
每一个前提都是用户系统的业务规则,而if语句则是我们实现的基本逻辑工具。
很多程序员吐槽if语句,但却无法离开它。因为它最直接,最简洁。
if (满足业务逻辑)
执行相应的业务处理
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小畅创作整理编辑!