<1017期>智電網訊:10%+10%到底等於多少?還是算法出了問題
9月3日,手機計算器全線陣亡」登上熱搜榜,原來是蘋果、華為、小米、OPPO等各廠商手機計算器都出現了神奇的bug,手機計算機計算「10%+10%」時,得出的結果是0.11,而不是正確答案0.2。業內人士隨後展開科普,表示這看起來是個Bug,但最終結果其實是計算器處理運算符號的邏輯所導致。
用iPhone X、iPhone X max、華為mate 20 pro等機型測試都出現類似情況,比如「30%+20%」得出結果為0.36,「50%+50%」得出結果分別為0.75。
這是普通計算器和科學計算器的區別,人計算時,會優先考慮加減乘法的優先級,先做除法再做加法,結果就是(10%)+(10%)=0.2。如果是非科學計算器的計算邏輯則是認為連續百分比計算,即10%+10%按照10%+(10% x 10%)邏輯計算得出0.11的結果。
簡單來說,部分手機計算器會默認把A+10%理解成A+Ax10%,而非A+0.1,對於截然不同的結果,網友們也是議論紛紛。一時間,網友們拿起自己的手機開始算了起來,不過結果基本都是0.11,當然也有個別手機例外。
在網友的測試中,華為、蘋果、OPPO、小米多默認採用A+Ax10%的邏輯給出答案,其中小米在科學計算器下,有的用戶顯示結果是0.2,有的依然顯示為0.11。而魅族、錘子、努比亞等少數機型未「躺槍」
那麼幾大手機品牌高管是如何看待這個問題的呢?
榮耀業務部總裁趙明就此發表個人觀點,他解釋到:「實際上這有一個背景,就是算小費等特殊場景,很多國家餐廳吃飯給10-20%的小費,這時100+10%相當於100+100*10%,相當方便的一種人性化設計」。
趙明也在其
微博上積極徵求網友意見:「那麼到中國要不要改過來呢?」。
魅族華海良對此的解釋是,「這個話題引發了不少討論,其實本質上並不是對或錯的問題,我們只是考慮的更多,增加了人性化的算法判斷。10%+10%=0.11這個是國外的使用邏輯,而國內的算數邏輯是10%+10%=0.2,所以我們針對不同地區的固件做了不同的算法判斷。」
小米產品總監、MIUI體驗總負責人小凡也在微博進行了回應。@MIUI小凡 指出,「10%+10%」是目前全球標準的計算邏輯,最早的電子計算器並沒有%,是後來加入的。作為後續改進,它一定程度上解決了計算場景中的常用痛點,特別是在西方人計算折扣、小費、利息等場景時,這樣的計算邏輯會變得無比實用。
事情進展這麼久,讓基本上大多手機都不能正確運算的數學問題,終於有一些答案了。
其實並不是手機計算器算法設計師的數學課是體育老師教的,而是因為國內和國外的使用習慣不同導致的。
國內和國外還是有一些代溝在裡邊,就好比「10%+10」%這行算式列在這裡,大家對它的理解有幾個偏差,所以導致算出來的結果不同。但是其實大多數人並不會這麼計算,而死揪這個算式的本身,也是沒有太多意義的。百分比更多的是在數據中體現,而不是直接加減運算計算出來。
好了,本期科技來電 到此結束,我們下期見。
(責任編輯:宋虹姍 HO031)