为什么有的手机计算器上10%+10%=0.11,而不是0.2?

 我来答
百度网友9acb69b
2019-09-08 · TA获得超过2.8万个赞
知道小有建树答主
回答量:1235
采纳率:100%
帮助的人:28.5万
展开全部

近日,10%+10%=0.11的问题刷屏各大网站。最早看到这个问题是一个网友在网上发帖吐槽:自己用华为手机计算器计算20%+20%=0.24。华为这么厉害的一家公司会出现如此低级的错误吗?于是我也用手上的华为手机计算了一下,没错,与网友的答案完全一样,难道真的是华为手机的bug。随后网友纷纷发帖,晒出自己用各种品牌手机计算器计算10%+10%得到0.11的答案,难道所有手机计算器都中毒了?

查看了很多资料后终于明白,这不是手机中毒,而是一种流行于欧美等国家的算法--单步计算法。什么意思呢?很多程序员都从编程的专业角度进行了解释,从这种算法的源码到百分计算计算的识别条件等。


近日,受非洲猪瘟影响,猪肉价格持续上涨。我们假设上涨前,猪肉价格为20元一斤,这段时间猪肉价格上涨了20%,那么现在猪肉多少钱一斤?按照国内的算法,现在的猪肉价格为20×(1+20%)=24元,但是按照单步计算法的计算,我们只需要写成20+20%即可,计算结果同样是24元。同样,如果猪肉的价格由原来的20元一斤,下降了20%,那么现在猪肉多少钱一斤?一般算法是20×(1-20%)=16元,单步计算法是20-20=16元。

从上面两个例子可以看出,涉及到百分数时的单步计算法,和我们日常使用的计算方法存在下面这样一个转化关系:单步计算法的a±b%就等于一般算法的a(1±b%)。如果使用计算器进行计算,显然单步计算法更简洁,需要按键的次数更少,再加上计算器刚出来时的按键没有现在这么好用,因此就采用了单步计算法作为默认的计算方法。

通过上面的分析可知,10%+10%=0.11并不是手机计算器的bug,也不是手机中毒了,这只是一种不同于我们常用的计算方法而已。如果掌握了这种方法,明显可以提高计算器的计算速度,但是这个方法与我们常用的方法存在差异,因此在计算时出错的可能也会比较大。因此也有手机厂家已经针对这个问题进行了本土化的改造,经过程序改造后,手机计算器也可以得出10%+10%=0.2的答案。

虽然从算法上来说,单步计算法用于计算器确实比我们常用的计算方法简单,但是在国内却少有人了解单步计算法,而且还需要额外学习一种计算方法,这也是大多数人不愿意做的。因此,国内的手机厂商完全可以将程序进行修改,以适应国人的计算习惯。

就是这个范儿M5L6J
2019-09-08 · TA获得超过7866个赞
知道大有可为答主
回答量:1万
采纳率:98%
帮助的人:656万
展开全部
这不是手机中毒,而是一种流行于欧美等国家的算法--单步计算法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丨择城
2019-09-08 · TA获得超过1197个赞
知道小有建树答主
回答量:3504
采纳率:100%
帮助的人:223万
展开全部
这可能是自己的操作有误有关系,可能是按错了一个键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蜡笔小新快乐
2019-09-08 · TA获得超过5930个赞
知道小有建树答主
回答量:1.5万
采纳率:96%
帮助的人:304万
展开全部
这只是一种算法上的问题,这种算法是中国独有的,只有国外的手机才会是0.2。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天秤永恒520
2019-09-08 · TA获得超过680个赞
知道答主
回答量:1037
采纳率:100%
帮助的人:66.6万
展开全部
不是是可能将你的百分号当成了乘号所以就这样
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式