|
9月3日,話題“手機計算器全線陣亡”登上熱搜榜,消息稱蘋果、華為、小米、OPPO等各廠商手機計算器都出現(xiàn)了神奇的bug,不少手機計算機計算“10%+10%”時,得出的結(jié)果是0.11,而不是正確答案0.2。 業(yè)內(nèi)人士隨后展開科普,表示這看起來是個Bug,但最終結(jié)果其實是計算器處理運算符號的邏輯所導(dǎo)致。 iPhone X max、OPPO、華為榮耀、小米手機測試結(jié)果 有網(wǎng)友用iphone X、iphone X max、華為mate 20 pro等機型測試都出現(xiàn)類似情況,比如“30%+20%”得出結(jié)果為0.36,“50%+50%”得出結(jié)果分別為0.75。 有網(wǎng)友還測試了下Windows 10上的計算器,在標(biāo)準(zhǔn)情況下,10%結(jié)果是0。在科學(xué)計算器模式下,并沒有給出%的符號。 業(yè)內(nèi)人士稱,這是普通計算器和科學(xué)計算器的區(qū)別,人計算時,會優(yōu)先考慮加減乘法的優(yōu)先級,先做除法再做加法,結(jié)果就是(10%)+(10%)=0.2。 如果是非科學(xué)計算器的計算邏輯則是認(rèn)為連續(xù)百分比計算,即10%+10%按照10%+(10% x 10%)邏輯計算得出0.11的結(jié)果。 簡單來說,部分手機計算器會默認(rèn)把A+10%理解成A+Ax10%,而非A+0.1,對于截然不同的結(jié)果,網(wǎng)友們也是議論紛紛。 一時間,網(wǎng)友們拿起自己的手機開始算了起來,不過結(jié)果基本都是0.11,當(dāng)然也有個別手機例外。 在網(wǎng)友的測試中,華為、蘋果、OPPO、小米多默認(rèn)采用A+Ax10%的邏輯給出答案,其中小米在科學(xué)計算器下,有的用戶顯示結(jié)果是0.2,有的依然顯示為0.11。而魅族、錘子、努比亞等少數(shù)機型未“躺槍”。 手機企業(yè)高管怎么看? 9月3日上午,華為榮耀業(yè)務(wù)部總裁趙明就此發(fā)表個人觀點,他解釋到:“實際上這有一個背景,就是算小費等特殊場景,很多國家餐廳吃飯給10-20%的小費,這時100+10%相當(dāng)于100+100*10%,相當(dāng)方便的一種人性化設(shè)計”。 趙明也在其微博上積極征求網(wǎng)友意見:“那么到中國要不要改過來呢?”。 魅族華海良對此的解釋是,“這個話題引發(fā)了不少討論,其實本質(zhì)上并不是對或錯的問題,我們只是考慮的更多,增加了人性化的算法判斷。10%+10%=0.11這個是國外的使用邏輯,而國內(nèi)的算數(shù)邏輯是10%+10%=0.2,所以我們針對不同地區(qū)的固件做了不同的算法判斷。” 小米產(chǎn)品總監(jiān)、MIUI體驗總負(fù)責(zé)人小凡也在微博進(jìn)行了回應(yīng)。他指出,“10%+10%”是目前全球標(biāo)準(zhǔn)的計算邏輯,最早的電子計算器并沒有%,是后來加入的。作為后續(xù)改進(jìn),它一定程度上解決了計算場景中的常用痛點,特別是在西方人計算折扣、小費、利息等場景時,這樣的計算邏輯會變得無比實用。 最后,@MIUI小凡 還發(fā)文《手機計算器全線陣亡終結(jié)貼》,詳細(xì)的科普了為什么計算器會出現(xiàn)這樣的運算結(jié)果,以下是全文: 鑒于昨日計算器百分號引發(fā)了大型社會懸疑,10%+10%居然=0.11,這究竟是代碼的扭曲還是教育的淪喪,讓我替大家揭開真相。 看一些文章幾百字也沒把道理說太清楚。鑒于超強的歸納+化繁為簡的表達(dá)=聰明才智的體現(xiàn),我嘗試用一句話說清運算原理。以8+10%為例,為什么=8.8而不是8.1?一起讀:8元錢,加上10%的小費,一共是8.8元。 以上就是目前全球標(biāo)準(zhǔn)的計算邏輯,但還有一個大家疑惑的問題:為什么計算邏輯要這么設(shè)計?于是這變成了一個歷史思考題。 最早的電子計算器并沒有%,是后來加的。作為后續(xù)改進(jìn),它一定解決了計算場景中的常用痛點。我推測很可能是西方人計算折扣、小費、利息等常見場景。 貨物560元,20% OFF(打八折)多少錢?560-20%=448! 資方存入2800元,計年息6%,本息總計多少?2800+6%=2968! 是不是一下子好用到爆。But,為啥我前面加了一個“西方人的計算場景”呢?因為我覺得對于算力過剩的中國人,很少人會這么思考和輸入。 貨物560,砍兩成就是560*0.8=448;2800,6%年息,就是2800*1.06=2968。就是這么屌!直接省去了一步(國人這么優(yōu)秀我TM能怎么辦) 所以百分號鍵解決的痛點,中國人不太用的上,也不太會這么思考(這也是為什么今天才有人無聊去試10%+10%)。 其實之前我們改成過10%+10%=0.2,這也是為什么有些用戶科學(xué)計算器=0.2,是殘留的老版本,但后來決定還是遵循全球統(tǒng)一標(biāo)準(zhǔn)。 因為中國人不太會去這么用%(我們會直接輸入0.1而不是10%,自帶轉(zhuǎn)換),所以更改行為給國內(nèi)用戶帶來的好處很小,而一些習(xí)慣了%用法的人卻會崩潰,綜合考慮還是擇優(yōu)統(tǒng)一了用法。 來源:電子工程專輯 |
|
|