原創 好奇君 好奇實驗室
最近,好奇君在抖音搜到了一個奇葩的視頻。
有網友發現自己的手機出現了神奇的 Bug ,用自帶的計算器輸入20%+20%,得到的答案居然是0.24。
20%+20%=0.2+0.2=0.4
這個才是正確答案!至於正確答案為啥是0.4,這不是小學數學題嗎?算不對的話小心數學老師打你屁屁!
好奇君又嘗試了各大品牌手機的自帶計算器,結果讓人驚訝,大部分的手機計算器腦子都「瓦特」了。
三星NOTE8 計算器
小米10 Pro計算器
華為手機計算器
iPhone 11計算器
這幾款手機出現了同樣的計算BUG。
讓人沒想到是,辦公室的一臺「祖傳」蘋果——iPhone7,居然給出了更奇怪的答案0.04!
好奇君又用辦公室的桌上型電腦自帶的WIN10計算器,試了一下,輸入20%直接變成了0,完全無法計算。
連小學數學題都算錯?
好奇君研究了大半天,大概有了點眉目。
舉個例子,抖音給的算式是20%+20%,分析起來並不是很直觀,我們先換一個式子2+20%,這樣就很容易理解為什麼會出現這樣的錯誤。
按照一般人類的計算邏輯,2+20%的運算過程應該是:
2+20%
=2+0.2=2.2
但計算器的運算結果卻是:2+20%=2.4,這從數學邏輯上完全講不通啊!
但是如果從語文邏輯上講,反而通了!
其實這道題目用語文表達就是:2增加了20%,原價2元,現在漲價20%,現在要多少錢?
2+20%
=2×(1+20%)=2.4
當然是2.4元!
所以再也不要諷刺別人「你的數學是語文老師教的了」,語文老師的數學也是棒棒的!
按照這個內部運算邏輯,抖音那道算術題在計算器中應該是這樣的:
20%+20%
=0.2×(1+20%)
=0.24
這並不是手機系統的BUG,事實上計算器的計算過程大都如此,很多網友說用科學計算模式可以得出正確答案,好奇君用三星和蘋果的科學計算模式試了一下,答案還是0.24。
三星
蘋果
只有把百分數加上括號,也就是輸入「(20%)+(20%)」,出來的結果才符合人類的計算邏輯0.4。
為何算法如此奇怪?
因為早期的計算器按鍵數量有限,並沒有括號,要計算a(1+b%)這樣的式子很麻煩,所以就簡化成了a+b%,這算是一個歷史遺留問題,屬於程式設計師「語法糖」的一種。
「語法糖」是一種方便電腦程式員使用的算法,可以讓程序更加簡潔,有更高的可讀性。
現在的手機計算器則保留了這種算法特性。既然不合適大眾的理解認知,為什麼不改過來呢?
去年9月,網上也曾爆出過某品牌手機計算器的問題,當時該品牌的副總裁回復了網友的問題:
原來這個算法邏輯是國外常用的,而國內的的算法就是20%+20%=0.4。
怪不得,全世界都說中國人的數學計算比較厲害!老外的數學邏輯跟咱太不一樣了。
外國人的這種計算邏輯,在一些特定使用場景相當重要,比如算小費,大家知道很多外國的餐廳需要付5%-10%的小費,而外國人的數學計算有點讓人「著急」。
好奇君曾找過三位外國留學生朋友,給他們準備了一套小學四年級的數學卷。
為了照顧他們,只挑選了13道相對簡單的題目。
不過考試剛開始,就有小哥發問:能不能用計算器?
測試結果:3人分別做對了10題、8題、5題,普遍感覺題目有難度。
這樣的計算能力,如果要計算5-10%的小費,只需要在手機上按100+5%,就相當於100×(1+5%),算不算是一種很人性化設計!
話說回來,這種算法並不算錯,對老外還有點大用處。
但既然是在國內上市的手機,雖然咱國人數學能力強,能把20%無縫轉換為0.2,用不上計算器幫忙。
特別是某些國產品牌的手機,為什麼不能改成國人熟知的習慣,讓大家簡單一些。
原標題:《這道小學算術題,居然會讓手機計算器「智障」》
閱讀原文