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。
有網友還測試了下Windows 10上的計算器,在標準情況下,10%結果是0。在科學計算器模式下,并沒有給出%的符號。
業內人士稱,這是普通計算器和科學計算器的區別,人計算時,會優先考慮加減乘法的優先級,先做除法再做加法,結果就是(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。而魅族、錘子、努比亞等少數機型未“躺槍”。
手機企業高管怎么看?
9月3日上午,華為榮耀業務部總裁趙明就此發表個人觀點,他解釋到:“實際上這有一個背景,就是算小費等特殊場景,很多國家餐廳吃飯給10-20%的小費,這時100+10%相當于100+100*10%,相當方便的一種人性化設計”。
趙明也在其微博上積極征求網友意見:“那么到中國要不要改過來呢?”。
魅族華海良對此的解釋是,“這個話題引發了不少討論,其實本質上并不是對或錯的問題,我們只是考慮的更多,增加了人性化的算法判斷。10%+10%=0.11這個是國外的使用邏輯,而國內的算數邏輯是10%+10%=0.2,所以我們針對不同地區的固件做了不同的算法判斷。”
小米產品總監、MIUI體驗總負責人小凡也在微博進行了回應。@MIUI小凡 指出,“10%+10%”是目前全球標準的計算邏輯,最早的電子計算器并沒有%,是后來加入的。作為后續改進,它一定程度上解決了計算場景中的常用痛點,特別是在西方人計算折扣、小費、利息等場景時,這樣的計算邏輯會變得無比實用。
最早的電子計算器并沒有%,是后來加的。作為后續改進,它一定解決了計算場景中的常用痛點,而絕不是腦殘。我推測很可能是西方人計算折扣、小費、利息等常見場景。
貨物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%)。但對于西方很多同志來說,這玩意真是能救命呀
最后說一下MIUI怎么想的。
其實之前我們改成過10%+10%=0.2,這也是為什么有些用戶科學計算器=0.2,是殘留的老版本,但后來決定還是遵循全球統一標準。
因為中國人不太會去這么用%(我們會直接輸入0.1而不是10%,自帶轉換),所以更改行為給國內用戶帶來的好處很小,而一些習慣了%用法的人卻會崩潰,綜合考慮還是擇優統一了用法。