搜索
写经验 领红包
 > 美容

布尔逻辑计算机的基石是什么(布尔逻辑运算与的作用)

导语:布尔逻辑,计算机的基石

在学习分支语句之前,我们先学习和了解他背后的数学基础,布尔逻辑。

布尔逻辑里面,只有两个数,真与假。

真在不同的业务场景,有如下名称

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 (满足业务逻辑)

执行相应的业务处理

免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小畅创作整理编辑!