前两天网络上不少网友反馈称,在OPPO、华为、苹果、小米等智能手机上使用自带计算器计算“10%+10%”的时候,得出的结果是0.11,而不是0.2。这一眼看起来是Bug,但最终结果是计算器处理运算符号的逻辑导致的。
人计算时,会优先考虑加减乘法的优先级,先做除法再做加法,结果就是(10%)+(10%)=0.2。如果是非科学计算器的计算逻辑则是认为连续百分比计算,即10%+10%按照10%+(10% x10%)逻辑计算得出0.11的结果。
为什么非科学计算器的计算逻辑会和人们计算时的习惯逻辑不一样呢?
魅族华海良对此的解释是,“这个话题引发了不少讨论,其实本质上并不是对或错的问题,我们只是考虑的更多,增加了人性化的算法判断。10%+10%=0.11这个是国外的使用逻辑,而国内的算数逻辑是10%+10%=0.2,所以我们针对不同地区的固件做了不同的算法判断。”