首页 > 科学探索文章正文

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

科学探索 2025-04-07 15:58:01 趣奇闻(www.quqiwen.com)

在什么情况下,1+1不等于2?

我先声明一下,这不是脑筋急转弯,而是正经数学:布尔代数。

1+1=1

这就是布尔代数(逻辑代数),我刻意使用了“1+1”,而不是“一加一”,就是因为这里的“+”并不是算数运算,而是逻辑运算。

一些读者可能会觉得这比脑筋急转弯还要贱,不过这真的是正经数学。

手机前的你,能用上手机,还多亏了布尔代数。一切程序代码、硬件电路的底层逻辑都是0和1,而0和1的底层逻辑就是:布尔代数。

可以说:计算机,建立在布尔代数之上。不管多么高端的芯片,都只是在执行布尔代数。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

浅谈布尔代数

布尔代数,是英国数学家乔治·布尔(G.Boole)在19世纪中期提出的理论。

乔治·布尔无论如何都想不到,他发明的这门数学,直接给20世纪的计算机科学铺平了道路(顺便也成了一部分大学生的噩梦)。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

布尔代数本身还是很复杂的,只不过人们通常提到的布尔代数都是:关于0和1的代数。

就像学常见的“代数”之前,需要先学“算数”一样。在正式介绍“布尔代数”之前,必须先介绍“布尔算数”,也就是关于逻辑的算数。

通常的算数,使用的数字是:0、1、2、3、4、5、6、7、8、9。

逻辑算数,使用的数字只有:0、1。

布尔代数中的0和1,是在表示“真”和“假”,把逻辑关系变成数学运算。

通常的算数,经常使用的运算有:加、减、乘、除。

逻辑算数,经常使用的运算有:与、或、非。

在文章开头提到的“+”,表达的运算就是“或”。典型例子就是“连代责任”:只要有一个人犯错,所有人都受罚,这就是“或”的思想。

当然,表示“或”的符号不只有“+”,本文采用了数字电子技术中的表示方法。

“与”、“或”、“非”,其实都可以用“连代责任”来理解。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

“或”

假设只有两个人,“连代责任”可以理解成:只要有一个人犯错,两个人都要受罚,这就是“或”的思想。

如果:

1表示单个人犯错,0表示单个人不犯错。

1表示受罚,0表示不受罚。

只要有一个人犯错,两个人都要受罚,用逻辑算数表示就是:

1+1=11+0=00+1=00+0=0

如果用逻辑代数表示上面的式子,可以用A、B分别表示单个人是否犯错,用C表示是否受罚,只需要一个式子:

A+B=C

只有当A=B=0的时候,C=0,两个人都不用受罚。

还可以画成“真值表”:

A

B

A+B

0

0

0

0

1

1

1

0

1

1

1

1

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

“与”

假设只有两个人,“连代责任”还可以理解成:两个人都不犯错,才能不受罚,这就是“与”的思想。

如果:

1表示单个人不犯错,0表示单个人犯错。

1表示不受罚,0表示受罚。

两个人都不犯错,才能不受罚,用逻辑算数表示就是:

1·1=1

1·0=0

0·1=0

0·0=0

如果用逻辑代数表示上面的式子,可以用A、B分别表示单个人是否犯错,用C表示是否受罚,只需要一个式子:

A·B=C

也可以省略“·”,写成:

AB=C

只有当A=B=1的时候,C=1。

还可以画成“真值表”:

A

B

AB

0

0

0

0

1

0

1

0

0

1

1

1

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

“非”

这就更简单了。

犯错的“非”,就是:不犯错。

不犯错的“非”,就是:犯错。

还有:

受罚的“非”,就是:不受罚。

不受罚的“非”,就是:受罚。

用逻辑算数表示“非”就是:

1‘=0

0’=1

也可以使用代数的思想,画成“真值表”:

A

A'

0

1

1

0

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

运算定律

通常的算数,只学会“加减乘除”还不够,还需要知道运算定律,比如:加法交换律、加法结合律、……

布尔代数也是如此,可以认为有四种运算定律:

交换律

结合律

反演律

分配律

布尔代数默认先进行“非”运算,再进行“与”运算,最后进行“或”运算。有括号的时候,先算括号里面的式子。

交换律:

A+B=B+A

AB=BA

结合律:

(A+B)+C=A+(B+C)

(AB)C=A(CB)

反演律:

(A')'=A

分配律:

A(B+C)=AB+AC

(A+B)'=(A')(B')=A'B'

(AB)'=(A')+(B')=A'+B'

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

上面的很多公式都和通常的算数运算定律一样,这也是用“+”表示“或,用“·”表示“与”的原因。

上面的公式中的:

(A+B)'=A'B'

(AB)'=A'+B'

也被称为“摩根律”,和通常的算数中的分配律不一样,不过也可以用“连代责任”直观理解。

“连代责任”有两种理解方式:

只要有一个人犯错,两个人都要受罚,这是“或”的思想。

两个人都不犯错,才能不受罚,这是“与”的思想。

这两种思想之间就差一个“非”运算,这就是“摩根律”的直观表现(有兴趣的读者可以多考虑一下其中的细节)。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

数字电路

上文冷不防提了一句:布尔代数也成了一部分大学生的噩梦。

看到现在,一些读者可能也不觉得布尔代数有难度,怎么就成了一部分大学生的噩梦?

如果你真有上面那种想法,那是因为我之前没有展示布尔代数的各种混合运算:

A+B=A+A'B

AB=A(A'+B)

A+AB=A

((AA)'(AA)')'=A

((A+A)'+(A+A)')'=A

温馨提示:布尔代数中的具体数字只能取0和1。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

上面提到的那些混合运算,仅仅只是对布尔代数的表达式进行化简的基础知识。

学数字电子技术的时候,就经常会遇到这种问题:

Y=A'B'C+ABC+B'+C'

把上面式子化简成不含有“或”运算的形式,结果是这个样子:

Y==(BC(ABC)'(A'B'C)')'

当然,这种题在数字电子技术中,只是很平常的问题,并不算有难度。数字电子技术也因此成了一部分大学生的噩梦。

在什么情况下,1+1不等于2?这个问题有正经回答:布尔代数

后台-插件-广告管理-内容页尾部广告(手机)

声明:部分图文来源于网络,版权归原作者所有,侵权请联系删除:wzwt58@qq.com。本站发布此信息目的在于传播更多信息,与本网站立场无关,不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。本文地址:https://www.quqiwen.com/kxts/24915.html

趣奇闻Copyright @ 2022-2022 备案号:陕ICP备19013690号-3 网站地图