北晚新视觉 > 新闻 > 科技

“10%+10%”竟等于0.11 手机自带计算器出了Bug?手机运营商回应

2019-09-03 23:02 编辑:TF003 来源:北京晚报

今天,一件趣事在网上炸开了锅:有网友在使用手机自带的计算器时发现,输入“10%+10%”后,得出的结果竟不是0.2,而是0.11。更让人瞠目的是,苹果、小米、华为等品牌无一幸免,仅有锤子、魅族两款手机独善其身。网友们纷纷质疑,这么简单加法问题都能算错,手机上的计算器真的除了Bug?对此手机运营商表示,这与手机的运算逻辑有关,严格地说并非手机算法错误。

为了验证网友的说法,记者分别用苹果、小米、华为、荣耀、OPPO 等多款手机自带的计算器进行了测试。在苹果手机自带的计算器上,依次输入“10%+10%”,按下“=”后,结果竟真的显示为“0.11”。随后,记者又用20%、30%等不同数字进行了相加测试,结果同样出现了问题。在其他几款手机的测试中,小米、华为、荣耀、OPPO 4款手机也是如此。只有锤子、魅族两款手机自带计算器的计算结果为“0.2”。

有人猜测,是每次输入“%”时,程序都会自动把前面的所有数放在一起做“%”的运算;也有人认为,计算器之所以得出的结果不同,区别在于非科学计算器和科学计算器——非科学计算器的计算逻辑,默认的连续百分比计算并非“10%+10%”,而是“10%+(10%×10%)”。记者在小米手机的计算器中测试,“5+10%的结果为5.5”,“20%+10%的结果为0.22”,是符合这一猜测的。

今天上午,华为荣耀总裁赵明给出了另一种解释,他在微博上表示:“国外盛行给应付费金额10%至20%不等的小费,这时按照国外的运算逻辑,比如餐费花了100元,还要再付10%的消费,用计算器计算100+10%,得出的结果110正是您需要付的餐费与小费之和。特别是数字不是整数时,这其实是国外一种方便计算的人性化设计。”荣耀手机的相关负责人介绍。

小米手机的工作人员向记者介绍,安卓计算器的运算逻辑认为100+10%里面的10%是指100的10%,也就是10而不是0.1。这是一种国外的运算逻辑,而我国的运算逻辑认为10%就是指0.1。所以就出现了用手机计算100+10%得出的结果是110,而非100.1。由于现在所有国产手机都是基于安卓系统的设计的,这是手机自带的运算逻辑,并非手机算法错误,因此国产手机大量中招也就不难理解了。 “如果手机厂商注意到了这个问题,要调整运算逻辑也是可以的。”小米手机的工作人员说,“对于这一BUG,此前已有小米网友反馈给了小米方面,目前小米已经进行了修正。” 打开小米手机的计算器,记者发现通过左下角的红色按钮可以在两种模式中进行切换。普通计算器模式也会出现问题,但在切换到科学计算器模式后,输入的10%就会自动被换算成0.1,计算结果也是完全正确的。

华为官方客服则在给客户留言中的回复了应如何应对:“使用手机自带计算器计算A±B%时,百分数B%作为加数或减数,不再表示B/100这个数字本身,而表示的是被加数或被减数A的B%,即A*B%。所以A±B%=A±A*B%。小编建议您可以将百分数换算成小数进行运算,如0.022+0.025,您也可以给百分数加上括号,如(2.2%)+(2.5%)。”

作为少数计算正确的代表,魅族科技副总裁华海良也在微博解释了这一现象的原理。“‘10%+10%=0.11’这个是国外的使用逻辑,而国内的算术逻辑是‘10%+10%=0.2’。”华海良表示,魅族手机计算器因为针对不同地区进行了针对性设置,所以可以正确计算“10%+10%”。“其实本质上并不是对或错的问题,我们只是考虑的更多,增加了人性化的算法判断,针对不同地区的固件做了不同的算法判断。”

来源 北京晚报 记者 褚英硕 赵鹏 实习记者 师悦 编辑 王远

流程编辑 TF003

相关阅读

北晚新视觉网版权与免责声明:

一、凡本站中注明“来源:北晚新视觉网或北京晚报”的所有文字、图片和音视频,版权均属北晚新视觉网所有,转载时必须注明“来源:北晚新视觉网”,并附上原文链接。

二、凡来源非北晚新视觉网或北京晚报的新闻(作品)只代表本网传播该消息,并不代表赞同其观点。

如因作品内容、版权和其它问题需要同本网联系的,请在见网后30日内进行,联系邮箱:takefoto@vip.sina.com。

新视觉·新媒体

  • weibo北晚新视觉微博
  • mobile北晚新视觉手机版
  • app北京晚报APP
  • weixin北晚新视觉微信
  • ys1新视觉影社微信