每日最新頭條.有趣資訊

一道數學題讓手機計算機全陣亡?小米高管揭開真相

  昨天,一道數學題讓手機計算機全線陣亡,計算“10%+10%”時,包括OPPO、華為、蘋果、小米在內的多款機型得出的結果都是0.11,而不是0.2,引發了大量討論。這其實是因為計算機對於輸入符號的理解不同。小米高管@MIUI小凡今天專門發了一篇長文來解釋運算原理,以及為什麽全球標準的計算邏輯要這樣設計。一起來看看他的解釋吧。

遊民星空

小米計算結果

遊民星空
華為計算結果

  以下為原文:

  鑒於昨日計算機百分號引發了大型社會懸疑,10%+10%居然=0.11,這究竟是代碼的扭曲還是教育的淪喪,讓我替大家揭開真相。

  看一些文章幾百字也沒把道理說太清楚。鑒於超強的歸納+化繁為簡的表達=聰明才智的體現,我嘗試用一句話說清運算原理: 

  以8+10%為例,為什麽=8.8而不是8.1?

  一起讀: 8元錢,加上10%的小費,一共是8.8元。

  ——結束才藝展示的分隔線——

  以上就是目前全球標準的計算邏輯,但還有一個大家疑惑的問題:為什麽計算邏輯要這麽設計? 

  於是這變成了一個歷史思考題。

  最早的電子計算機並沒有%,是後來加的。作為後續改進,它一定解決了計算場景中的常用痛點,而絕不是腦殘。我推測很可能是西方人計算折扣、小費、利息等常見場景。

  貨物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%,自帶轉換),所以更改行為給國內用戶帶來的好處很小,而一些習慣了%用法的人卻會崩潰,綜合考慮還是擇優統一了用法。

獲得更多的PTT最新消息
按讚加入粉絲團