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

2019-9-27 15:21 3533 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。在科学计算器模式下,并没有给出%的符号。

推荐阅读
数据驱动软件工程大规模下加速源代码分析 2020-07-27 10:58
语义源代码检索的多模态注意力网络学习 2020-07-24 18:06
华为p40 pro电池 40W快充不耐用,电量续航、真假电池区别 2020-07-30 17:46
code2vec 令牌嵌入的泛化能力评估 2020-07-27 17:59
什么是AAU功耗深度休眠,5G基站休眠能节省多少电费? 2020-08-21 14:33