加法中的主角效应:
在正常生活当中,我们对于加法运算的理解为A+B=C,其中除非B=0,不然A不等于B。但这种思维方式是对我们人脑而言,对于电脑,其对于单精度加法运算的处理可能为A+B=A,而且是在B不等于的情况下。这是为什么呢?让我们来看一下下面的一个单精度加法运算的C代码:
让我们用这个程序来检验电脑对加法运算的‘理解’:
①首先,我们来运算1e20+(-1e20),其运算结果为:
显然,这是符合我们日常加法运算的思维的。
②接下来我们运算1e20+3.14,其结果为:
然而,加法运算在这里出现了错误。
【这是为什么呢?】
在1e20和3.14单精度加法的运算中,我们先需要对阶,由于两数用单精度数据表示法表示出来的数中,1e20的阶数与3.14的阶数相差太大,而导致了阶数的忽略,只取较大的阶数,从而忽视了较小的阶数,造成了精度的缺失。故在电脑的单精度加法运算中A+B可能等于A。
数在计算里由于它的“巨大”而成了这场游戏的主角,配角五行之中因为主角的闪亮而被人们所遗忘。