魅族谈Flyme计算器优化机制:分地区固件判断,小米苹果全线阵亡

在今日一个话题又被炒热,许多人立刻打开手机原生计算器,对于“10%+10%”加法机制下所得出的答案。经过一轮番网友测试之后,无一例外除了魅族Flyme系统外,都陷入了0.11计算错误的魔圈。对于魅族的Flyme系统的严谨性,对于这个运算逻辑想必类似什么,大抵和我们小学时候数学老师口口相传,运算法则中乘除优先,括号中的计算方程一个定义,而这个公式算数中百分比等于乘除运算所以必然优先。

魅族谈Flyme计算器优化机制:分地区固件判断,小米苹果全线阵亡

Flyme系统

除了魅族Flyme外的其他厂商系统,原生计算器的机制是属于传统运算法则,会倾向于在数列的运算基础上叠加10%以此得出答案,这也便是手机计算器全线阵亡的关键原因。对于诸如此类的动辄几百上千字的文章解释,依然无法从一个较为正确的角度,去为大家揭开如此难题上所陷入的境遇。从一位资深程序员代码的角度,为大家深度剖析,为何连苹果这样的全球顶级厂商也有如此的计算逻辑漏洞。

魅族谈Flyme计算器优化机制:分地区固件判断,小米苹果全线阵亡

计算器错误

以“7+10%”通过传统计算器计算,逻辑循环得出的答案为7.7,为何却不依照计算法则得出7.1呢?这里牵扯到西方国家一个问题,如果按照餐厅的消费逻辑,那我们再走一遍七块钱的餐费和10%的小费是不是能够得出7.7这个答案呢?这就是全球标准的计算逻辑,这得从早期的计算器的机制上来谈,一开始计算器的初步构成是没有%符号的,后续的加入是为了解决西方国家的小费和折扣计算便利。

魅族谈Flyme计算器优化机制:分地区固件判断,小米苹果全线阵亡

Flyme

西方国家和国内的生活应用场景上,却有着完全不同的逻辑,举个简单例子来讲吧,如果我们国家的商城折扣衣服八折,而我们脑海中的计算逻辑基本是这样,以商品价格乘以0.8来运算一番。而西方国家的数学逻辑,是以商品价格减去20%,截然不同的文化差异导致了这类计算器机制的问题。所以小米苹果华为等纷纷沦陷,也是因为计算器全球化标准,所导致的程序员在对于系统原生计算器优化所形成的误区罢了。

魅族谈Flyme计算器优化机制:分地区固件判断,小米苹果全线阵亡

miui系统发布会


分享到:


相關文章: