布尔运算是打破逻辑和数学分界线的学科
小学运算的基本构成
- 我们平时里的加减乘除运算的构成是怎样的呢?
- 参与运算的元素:无穷多个数字比如1,8,99......
- 运算规则有几条呢?
- 加,减,乘,除四条。
那么布尔运算呢?
- 参与元素: 0,1. 就两个
- 运算规则呢:and,or,not。 三条
接下来,我们就像背乘法口诀表一样背诵一下布尔运算口诀表:
- 1 and 0=0 (and是运算符号,而非英文哦)
- 1 or 0 = 1
- not 1 = 0
可以说是数学里最简单却意义非凡的法则。
举例说明
更仔细描述的布尔运算的话,1也可被称作(True,真),0被称作(False,假)。 And(与),Or(或),Not(非)。
假如有两个基本判断: 1.“太阳从西边出来”,此肯定为假(0)。 2.“水可以流动”,此肯定为真(1)。
那么请问: “太阳从西边出来”并且“水可以流动”,是真还是假呢? *(我们的直觉判断都能得出结论) *
当然为假,这就是0 and 1 =0的一次运算。 and运算中只要有0,结果必为0.
那么换一个说法:“太阳从西边出来”或者“水可以流动”,这是真还是假呢? 这就为真了。
这是0 or 1 =1 的运算。 or运算中,只要有1,结果必为1.
再换一个说法:“太阳不是从西边出来”,这是真还是假呢? 真!
这是一个 not 0 =1的运算。
有什么用?
也许你一定会问,这么简单的法则有什么用?
- 布尔运算,使用的是二进制计数方法。系统的应用是公元前5世纪,印度学者完成的。
- 17世纪德国那个伟大的数学家莱布尼茨,进一步完善,并确定下来用0和1来计数和代表“非”,“是”。
- 是非问题在19世纪前,一直归在逻辑学,属于哲学范畴。人们普遍认为数学和逻辑是两门不同学科。 直到1854年,乔治.布尔,写了一本书《思维规律》,首次向人们展示了如何使用数学方法解决逻辑问题。然后让布尔代数成为解决逻辑问题的系统学科。
- 1938年,香农,信息论的创始人,在他硕士论文中指出:可用布尔代数来实现电路开关,至此以后布尔代数,成为数字电路的基础。 而且所有的数学和逻辑运算,都可以转换成二值的布尔运算,无论是加减乘除,以及乘方,开方等。
科学家,就依靠布尔代数的指导,用一个个开关电路“搭出”了电子计算机。
~
请问,您觉得布尔运算有没有用呢?
我们百度时,布尔运算怎么帮我们的?
你知道吗?当我们百度搜索时,背后最基本的技术就是布尔运算的应用。
比如你想要搜索关于“原子能的应用”的网页。 百度会马上给你一系列相关结果,它怎么做到的呢?
- 先把“原子能的应用”,拆分为三个关键字“原子能”,“的”,“应用”。
2.为了方便理解,我们假设整个互联网一共只有100个网页。 然后电脑分别去找,含有“原子能”的网页是哪些,如果A网页含有“原子能”,就标记为1,B网页不含,则标记为0. 那么遍览这100个网页会后会生成100011010......的一串二进制数字;同理,另外两个关键词,也会对应生成类似于0101110001.....的两串二进制数字 - 将这三串二进制数字,进行and运算。于是只会剩下很少的1,那么对应的网页,就是含有这3个关键词的网页,然后百度把这些网页排在靠前的位置给到你。
如果这个有点不好理解,再给你举个好理解的例子吧---选女朋友的故事
有一天,月老实在看不下去,单身汪狗蛋的生活了,于是决定给狗蛋安排一个女朋友。
月老来到狗蛋面前,两手一挥,变出6个美女站成一排,问狗蛋,喜欢什么样女孩。
狗蛋说,长头发的,皮肤白的。
月老看了一眼,这六个女孩,先按照顺序把皮肤白的标记为1,不白的标记为0,得出结果100110.
再把头发长的标记出来,结果为100001. 然后,计算了一下100110 and 100001 =100000. 也就是说只有站在第一位的女孩满足要求。 然后月老说,你看吧第一个女孩儿就是你想要的,去吧。
然后,狗蛋开心地奔向那女孩儿,果然是她想要的, 此时那个女孩儿开口说道,“对不起,狗蛋,我深深仰慕着一个人,他叫bobo”.......