一道数学题让手机计算器全阵亡?小米高管揭开真相
昨天,一道数学题让手机计算器全线阵亡,计算“10%+10%”时,包括OPPO、华为、苹果、小米在内的多款机型得出的结果都是0.11,而不是0.2,引发了大量讨论。这其实是因为计算器对于输入符号的理解不同。小米高管@MIUI小凡今天专门发了一篇长文来解释运算原理,以及为什么全球标准的计算逻辑要这样设计。一起来看看他的解释吧。
小米计算结果
华为计算结果
以下为原文:
鉴于昨日计算器百分号引发了大型社会悬疑,10%+10%居然=0.11,这究竟是代码的扭曲还是教育的沦丧,让我替大家揭开真相。
看一些文章几百字也没把道理说太清楚。鉴于超强的归纳+化繁为简的表达=聪明才智的体现,我尝试用一句话说清运算原理:
以8+10%为例,为什么=8.8而不是8.1?
一起读: 8元钱,加上10%的小费,一共是8.8元。
——结束才艺展示的分隔线——
以上就是目前全球标准的计算逻辑,但还有一个大家疑惑的问题:为什么计算逻辑要这么设计?
于是这变成了一个历史思考题。
最早的电子计算器并没有%,是后来加的。作为后续改进,它一定解决了计算场景中的常用痛点,而绝不是脑残。我推测很可能是西方人计算折扣、小费、利息等常见场景。
货物560元,20% OFF(打八折)多少钱?
560-20%=448!
资方存入2800元,计年息6%,本息总计多少?
2800+6%=2968!
是不是一下子好用到爆。
But,为啥我前面加了一个“西方人的计算场景”呢?因为我觉得对于算力过剩的中国人,很少人会这么思考和输入。
货物560,砍两成就是560*0.8=448。
2800,6%年息,就是2800*1.06=2968。
就是这么屌!直接省去了一步(国人这么优秀我TM能怎么办)╯□╰
所以百分号键解决的痛点,中国人不太用的上,也不太会这么思考(这也是为什么今天才有人无聊去试10%+10%)。但对于西方很多同志来说,这玩意真是能救命呀[奥特曼]。
——结束考古思考的分隔线——
最后说一下MIUI怎么想的。
其实之前我们改成过10%+10%=0.2,这也是为什么有些用户科学计算器=0.2,是残留的老版本,但后来决定还是遵循全球统一标准。
因为中国人不太会去这么用%(我们会直接输入0.1而不是10%,自带转换),所以更改行为给国内用户带来的好处很小,而一些习惯了%用法的人却会崩溃,综合考虑还是择优统一了用法。
热门相关:这个武圣超有素质 法尊 白日梦 8亿聘金:帝少的蚀骨烈爱 废土