手機計算器出錯,原因竟是人性化設計

2019年09月11日08:38  來源:科技日報
 
原標題:手機計算器出錯,原因竟是人性化設計

  近日,一則“手機計算器全線陣亡”的消息登上各大熱搜榜。不少網友發現自己手機的計算器出現了一個錯誤:在手機計算器中輸入“10%+10%”后,得出的結果不是0.2,而是0.11。科技日報記者用自己的華為手機測試以后發現,得出的結果也是0.11。

  有不少網友測試后發現,蘋果、華為、三星、OPPO、vivo、小米等多款手機給出的計算結果均為0.11,僅有國內的魅族、錘子、努比亞旗下機型最終的計算結果為0.2。

  那麼,手機計算器究竟為什麼會犯這種低級錯誤呢?引發該錯誤的機制又是什麼?

  經過多方求証,科技日報記者得知,事實上,手機計算器出現這種情況不能算是錯誤,這主要是因為非科學計算器和科學計算器,對輸入符號的理解不同。人在計算時,會尊重計算中加減乘除的優先級,先做乘除再做加減,結果就是10%+10%=0.2。

  然而,部分手機中的計算器APP按照非科學計算器的計算邏輯,則認為連續百分比計算,即“10%+10%”是按照10%+(10%×10%)的邏輯進行計算,於是便得出0.11的結果,所以最終結果與常識不符。這只是因為計算器使用的算法邏輯不同,並不能算是計算錯誤。

  非科學計算器的計算邏輯,默認的連續百分比計算並非“10%+10%”,而是“10%+(10%×10%)”。科技日報記者在小米手機的計算器中測試,“5+10%的結果為5.5”,“20%+10%的結果為0.22”,均符合這一計算邏輯。

  華為榮耀業務部總裁趙明在微博上表示,實際上這裡有一個背景,就是在算小費等特殊場景,很多顧客在一些國家餐廳用餐后會給10%到20%的小費,這時在計算器中輸入“100+10%”就相當於“100+100×10%”,這樣就簡化了輸入步驟,是一種相當方便的人性化設計。

  魅族科技副總裁華海良也發微博表示:“其實,本質上這並不是對或錯的問題,我們只是考慮得更多了,增加了人性化的算法判斷。‘10%+10%=0.11’這個是國外的使用邏輯,而國內的算數邏輯是‘10%+10%=0.2’,所以,我們的APP針對不同地區進行了不同的算法判斷。”

(責編:楊僧宇、呂騫)

推薦閱讀

“海水稻”春播育秧時值春耕時節,三亞南繁種質資源材料陸續送到青島,正式拉開春播育秧工作的序幕。不同的是,這裡種上了“海水稻”。【詳細】

長征火箭 300次發射的背后 4月20日晚10時41分,長征三號乙運載火箭載著第四十四顆北斗導航衛星順利升空,完成了長三甲系列火箭的第100次發射﹔此前,長征系列運載火箭完成了第300次發射。【詳細】