百度地图|baidu_sitemap
首页
新闻界
科技界
体育界
资讯界
生活界
图片
下载
招商
教育
房产
?
时时彩票科技界
手机计算器阵亡 替大家揭开真相
2019-09-03 10:53:38 来源:http://genejostory.com 作者: 时时彩票资讯网
IT之家9月3日消息 IT之家昨日报道称,在OPPO、华为、苹果、小米等智能手机上使用自带计算器计算“10%+10%”的时候,得出的结果是0.11,而不是0.2。这一眼看起来是Bug,但最终结果是计算器处理运算符号的逻辑导致的。
魅族华海良对此的解释是,“这个话题引发了不少讨论,其实本质上并不是对或错的问题,我们只是考虑的更多,增加了人性化的算法判断。10%+10%=0.11这个是国外的使用逻辑,而国内的算数逻辑是10%+10%=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%)。但对于西方很多同志来说,这玩意真是能救命呀
至于“BUG”原因,主要是计算器对输入符号的理解不同。我们输入“10%+10%”,其原型为“10/100+10/100”,我们在运算的时候,是先算两个除法,再相加。
有网友科普到,但非科学计算器的计算逻辑却不是这样,它会认为连续百分比计算10%+10%其实就是10%+(10%x10%)。
手机计算器全线阵亡?10%+10%居然等于0.11
类似这种BUG,已有小米网友去年就反馈给了MIUI团队,而且已经进行了修正。网友在测试后发现,小米的计算器有两种模式,普通模式阵亡,智能模式10%自动换算成0.1,计算正确。
大家可以试试自己手机的计算器。此外,在百度搜索“10%+10%”得到的结果也是正确的。

Tags:
责任编辑:admin
您看到此篇文章时的感受是:
】【打印繁体】【投稿】 【收藏】 【推荐】 【举报】 【评论】 【关闭】【返回顶部
?