C++语言零基础入门教程:4.9 布尔(真假)类型的思想分析

3713 人浏览 | 时间: 2016-08-13 19:39:23 | 作者: codexia 会员文章,禁止转载

    前面几节我们讲了数值类型、字符类型,有了这两类类型,我们可以做很多很多事情了,程序员过上了幸福的生活。程序员们是一群喜欢钻研的人,喜欢究根问底,所以对很多问题都能够了解的很深入,对于很多现象都可以轻松的透过现象看本质。同时,程序员简单而快乐着,几个程序员在一起讨论问题的时候,特别是讨论有分歧的问题时,观点就开始有分歧了。A说A是对的,B说B是对的。如果AB的观点是对立的,总有一个对一个错,没有中间的状态。要么就是对,要么就是错,非白即黑,非黑即白。
    通常,天真烂漫的小孩子,总是简单而快乐的。看到一个电视,总要去给人物套上好坏的定位。程序员也是这样的,至少在写代码时一定是这样的。计算机的非黑即白,是不可逾越的。程序员的单纯可爱,和计算机的这个特性非常相配,如果程序员和计算机谈恋爱,那是多么般配呀。事实上,程序员特别享受计算机这样的特性,和自己的特性一致,很顺,感觉就是老朋友一般。所以你也总是看到,程序员们总是简单快乐的。
    坦白来说,我也是这么简单而纯粹的。程序员的工作中,没有勾心斗角,你也只有在程序员的工作中感觉到那份纯粹的同事友情,就和大学室友一般。这种工作的感觉,应该是程序员所特有的。
    或许,在做程序员之前,你并不那么单纯的看问题,可能人情世故比较浓,但是做了程序员之后,慢慢适应了这样的简单的快乐,你会感觉生活发生了很大的变化。当然,更多的程序员,其实本来也是单纯可爱的,做了程序员之后,也没有办公室争斗,感觉还是不错的。
    程序员们喜欢分对错,天真单纯的人们都喜欢分对错,所以,世界上也就需要这样的一个正确错误来做一个定义,在计算机中要能够计算,也就要固定一种数据类型,这也就是我们要说的布尔类型,即真假、对错。
    然而,随着年龄的增长,随着思考的深入,随着阅历的增加,你会发现,社会的所有东西,其实没有所谓的对错,没有所谓的真假,假就是真真就是假,所以有智者总会说,人生无常,真真假假,何必太较真,都是套路,哈哈哈。严肃点说,这是一个哲学问题。本节本来就是来说这个类型的思想,所以请放开思维来看,别盯着数据类型。我们这里是开阔思维的内容。融入我个人的人生理解,分享给大家。
    在自然界中,所有有生命的物体,都在生生不息。生物的本能就是趋利避害。为了生存,都没有错。所谓的对错,是人为定义的一个思维方法,比如人不为己天诛地灭、助人为乐手有余香。这是两种典型的思维方法,前者是强调个人利益,与生物特性一致,后者在更高的层次上获得共同发展,得到快乐。两种思维方法都不一样,甚至是对立的,但是却没有对错。
    对错是人为定义的。实际上,在计算机中的各种规则,也并不是绝对的对错的,只是已经实现的规则就是如此。如果你触犯违背了规则,就定义为错。那么我们人类的行为,如果触犯违反 了我们国家的法律道德,也就是认为是错的。
    然而,这些规定,都是人为定义的。当然如果说到大自然的各种规则,宇宙的各种规则,实际上,也并不是一成不变的,只是你不知道还有其他方法而已。在仅有的认知下,你被约束了,约束之外的东西都是错误的,符合约束的就是正确的。
    所以,我们从不同的角度去看,结果就不一样。如果在一起冲突发生时,我们站在每一个角度看,都是有道理的。就无法分辨所谓的对错,所以国家的法律道德起到一个公共的对错标准。
    在处事为人的时候,不同的环境,不同的人,不同的情绪,事情的变化,总让一件事情一个做法处于不确定的状态。所以,在为人处世方面,没有绝对的对错,而且错综复杂哦。因为除了明面的规则外,还会有很多看不见的潜规则。社会上的有钱人和法律通常都是处于同一个水平,只有普通老百姓处于法律之下。但是人的潜力无限,也可以有很多的变化。如果你能够处理好各种处事的复杂关系,维持各方的利益,达到共同发展的效果,你的情商绝对是一流的。
    实际上,要做到也不是很难。观察和分析是最基础的,利益是根本出发点。然后就是分析不同的人不同的性格,特殊时期特殊的对待,不同的人不同对待,你还要控制自己的情绪的变化,理性的处理问题。说难也难,说简单也简单。
    拍马屁拍的好的人,往往观察力和分析关系的能力都不错,更厉害的时,自己的情绪控制的非常到位。但是稍微嫩一点的,很容易受不住气,要爆发,无法忍辱负重,不能灵活的变通。职场的那些勾心斗角,也无非就是利益的纠纷,为了升官发财,各种明争暗斗。悲哀的是,很多人对这种事情倒是觉得很好玩,斗的不亦乐乎。
    程序员通常都对这些付之一笑,写自己的代码去,简单而快乐。所以在人生的道理中,是没有对错的。不过计算机中要处理数据,必须要有固定的规则,否则计算机是真心没法变通,更没法理解勾心斗角的。计算机只是感觉一脸懵逼,你们在干嘛,我怎么看不懂。
    让我记忆深刻的一个事例就是,在国外有一个选举投票的设备,被人发明出来后,竟然无法投入使用。当时我就很郁闷,这么方便高效的投票机,可以快速选出合适的人选,为什么那些官员拒绝使用呢。开始我一直都不明白为什么。当然,我们也没有去问别人,只是自己一直在思考这个问题。随着阅历不断地增加,对社会和人性的不断的了解和思考后,我自己知道了答案。这也让我恶心的不行不行的。所以说官场的混乱、商场的混乱,单纯的人真是没法玩。
    单纯的人考虑问题总是很客观很直接,是以解决问题去考虑的,从来不会从当事人的利益的角度去考虑,所以得到的解决就是,明明很好的产品,为什么就不被采纳呢?原因就是在暗地里暗藏着各种潜规则和利益链条。如果能够瞬间产生结果,有势力但没有人气的大官,如何控制得住结果呢?还有官场就是靠关系的地方,选举靠的是关系人脉的力量,并不是靠客观的实力。所以你可以看到各种投票选举,都是大把的拉人拉关系贿赂等等。还有,有人有选举权,也就有价值,被选举的人想多拿一票,就想争取这一票,这样就可以被贿赂了,就可以捞到好处。
    然而,一个选举器瞬间要得到结果,这些底下的交易岂不是难以实现了,一下子不就泡汤了嘛。所以,不被采纳非常正常。如果你不能准确把握这些利益关系,看不懂,你做的产品再好只会加速死亡。甚至如果你的产品威胁到他们的利益了,他们会集体扑过来咬你。
    所以,往往能够成功的人,情商都了不得。拥有高情商,能够建立强大的人脉网络,才能顺风顺水。这是基础的成功要素。如果你真的只是拼实诚,你离成功太远了。
    好了,回到主题。这些公开的规则和潜在的规则、以及背后的利益关系,就是不错的智商的人类都搞不定,更别说要计算机去处理了。这也是为什么人工智能很难超越人类只能的原因。你以为是因为创作灵感之类的计算机无法去做好吗,不是的,创作的能力计算机也是可以学好的。然而人类的欲望,人类的表面一套背后一套,计算机能力再强大也搞不清楚呀。
    所以最符合计算机胃口的就是绝对化的对错。建立好一套明确的规则,说一不二,错了就是错了,对了就是对了。所以你在写代码的时候,你没法含糊,含糊的代码计算机无法运行。所以,计算机中的逻辑就两种,即错和对或者成为真和假。
    然而计算机中只能存储数值呀,怎么表示真假呢?规定!在C/C++中规定:0为假,非0为真。也就是说,所有的非零数解释为真假类型后,就是真,只有0才是假。这里的做法就是二值化。二值化就是将大量的不同的状态统一归类为两种状态,从而世界就简单了。非黑即白,非白即黑。所以这就是计算机的世界,非常简单。
    其实生活就是简单的,快乐也是简单的,简单才易行,简单才好办。幸福也是简单的。真假对错的英语单词为boolean,在C/C++中的关键词取为bool,读音就是布尔,所以我们将表示真假的类型成为布尔类型,也可以叫做真假类型或者对错类型还可以是二值类型,也就是两种状态的类型。布尔类型用来描述我们程序逻辑的对错、成功与失败、真和假等。
    那么本节就讲这么多,希望你对布尔类型的思想理解更加深刻。更多的分享了我对人生社会的一些思考,希望能给予你一些启发,一同进步。

当前文章为会员文章,请前往[用户中心]开通会员后继续阅读。