手机计算器连续百分比计算逻辑出现什么错误

2019-9-27 15:21 3572 105

但是你敢相信手机计算器有错误吗?手机计算器的出错新闻被推到热点,计算器将结果的10%10%增加到0。这种设计的深层原因可能仅限于早期计算器的键数和单步操作。所以这是历史遗留问题所在。大多数手机计算器都保留着这个特征?

有网友发现,很多手机的计算机出现BUG,计算“10%+10%”时,结果不是0.2,而是0.11,包括OPPO、华为、苹果、小米等在内的多款机型都是这样。有分析称,这是因为计算器将10%+10%理解为10%+(10%*10%)。

有网友爆料称,各厂商手机计算器全线阵亡。原来,不少手机的计算机出现了奇妙的BUG,计算“10%+10%”时,得出的结果不是0.2,而是0.11。

有网友又尝试了一下20%、30%等不同数字的相加,结果同样出现了错误。

   一则“手机计算器全线阵亡”的消息登上各大热搜榜。不少网友发现自己手机的计算器出现了一个错误:在手机计算器中输入“10%+10%”后,得出的结果不是0.2,而是0.11。科技日报记者用自己的华为手机测试以后发现,得出的结果也是0.11。   

    那么,手机计算器究竟为什么会犯这种低级错误呢?引发该错误的机制又是什么?

    经过多方求证,科技日报记者得知,事实上,手机计算器出现这种情况不能算是错误,这主要是因为非科学计算器和科学计算器,对输入符号的理解不同。人在计算时,会尊重计算中加减乘除的优先级,先做乘除再做加减,结果就是10%+10%=0.2。

    然而,部分手机中的计算器APP按照非科学计算器的计算逻辑,则认为连续百分比计算,即“10%+10%”是按照10%+(10%×10%)的逻辑进行计算,于是便得出0.11的结果,所以最终结果与常识不符。这只是因为计算器使用的算法逻辑不同,并不能算是计算错误。

    非科学计算器的计算逻辑,默认的连续百分比计算并非“10%+10%”,而是“10%+(10%×10%)”。科技日报记者在小米手机的计算器中测试,“5+10%的结果为5.5”,“20%+10%的结果为0.22”,均符合这一计算逻辑。

    华为荣耀业务部总裁赵明在微博上表示,实际上这里有一个背景,就是在算小费等特殊场景,很多顾客在一些国家餐厅用餐后会给10%到20%的小费,这时在计算器中输入“100+10%”就相当于“100+100×10%”,这样就简化了输入步骤,是一种相当方便的人性化设计。

    魅族科技副总裁华海良也发微博表示:“其实,本质上这并不是对或错的问题,我们只是考虑得更多了,增加了人性化的算法判断。‘10%+10%=0.11’这个是国外的使用逻辑,而国内的算数逻辑是‘10%+10%=0.2’,所以,我们的APP针对不同地区进行了不同的算法判断。”



手机计算器阵亡:详情始末这到底是怎么回事

  另外,Windows 10上的计算器,在标准情况下,10%结果是0。在科学计算器模式下,并没有给出%的符号。

推荐阅读
物联网 (IoT) 使用多协议射频接口、多频段无线 SoC 部署 2020-06-09 12:12
提防RISC-V架构,Arm嵌入式处理器自定义指令集设计 2019-10-10 10:10
下代三星折叠屏手机将加入S Pen,UTG玻璃会更厚? 2020-10-23 15:38
两个防反接电路 2019-10-29 16:59
电路故障分析,电压表、电流表判断电路 2019-11-20 09:21