首頁 > 易卦

魅族談Flyme計算器最佳化機制:分地區韌體判斷,小米蘋果全線陣亡

作者:由 張凡談科技 發表于 易卦日期:2022-08-18

計算器怎麼迴圈計算

在今日一個話題又被炒熱,許多人立刻開啟手機原生計算器,對於“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系統釋出會