如何用计算器打出上下分数格式超简单

在开始之前,让我们先停下来,拿出手机,计算一下标题中的“50%+50%”。你会发现,结果似乎并不总是你所想象的那样简单。

你可能会发现三种不同的结果:

第一种,使用OPPO、vivo、小米等品牌的手机计算,结果显示为0.75;

第二种,使用魅族以及一些小众品牌的手机计算,结果则显示为1;

第三种,使用iPhone系列手机计算,初次结果为0.25,但再按一次等号也会显示为0.75。

这是一个有趣的现象,是不是觉得神奇呢?我们再尝试一个好玩的计算:比如“100+20%”。使用小米等品牌手机计算,结果显示为120%,而魅族手机则显示为100.2。

为什么会存在两种答案呢?让我们深入探讨一下。

关于“50%+50%为什么等于0.75”这个问题,我们可以想象一下这样一个场景:你在玩一款刷装备的游戏,为了刷出好的词条而战斗。终于,你了一个BOSS,获得了一件装备,其中有一项属性是“+15%近战伤害”。如果你的攻击力是100点,那么穿上这件装备后,你的伤害是多少呢?

相信大多数玩家都会立即回答:115点。在日常生活中,我们习惯将百分比看作是增加的比例,所以我们会主动将100加上15%的伤害,即100+100×15%=115。如果你穿了一套装备,每一件装备都有属性加成,这时候就需要用心计算了。

为了准确计算出角色的最终伤害,你可能会使用手机上的计算器,发现计算起来有些复杂。金融等行业需要进行的复杂计算更是令人头疼。函数式计算器对百分数计算的逻辑进行了改进,采用了A+B%=A+(A×B%)的算法。这样一来,复杂的计算式就被大大简化了。

回到我们最初的问题,“手机计算器中的‘50%+50%’带入上面的公式,最终结果就是0.75”。目前,这种算法已经成为全球通用的惯例。微软资深开发人员Raymond Chen曾在开发者日志中提到:“Windows计算器中的百分号工作方式与普通袖珍计算器相同,这种设计是为了方便日常计算。”工程师可能会觉得这种方式反直觉,但对于普通民众来说却是很合理的。计算器开发者认为这种算式是一种普及的概念,因此定义并无问题。但在国内,大多数用户可能并不认同这种算法。因此在进行百分比相加时可能需要额外加上括号才能得到正确的结果。但更深层次的关于计算器算式堆栈等问题在这里就不再赘述了。