更多好玩的科普,快關注“差評”~
在輸入數據準确的情況下,計算器的計算準确度是 100% ,這一點想必用過計算器的人都不會否認。
那我問你一個問題:10% 10% 等于多少?
一般人哪怕是小學生,估計都會脫口而出答案是 20% ,或者是 0.2 。
不就是個簡單的 10 10 的問題嘛?
可是有人卻發現,這麼簡單的問題,計算器卻出了“ 錯 ”。
根據這個微博上的說法,幾乎所有的手機計算器,在計算 10% 10% 這個問題時,都會得出 0.11 的答案,并普遍被認為是一個 BUG 。
小發也用自己的手機試了試,發現還真是這樣。
iPhone 在測試後也是同樣的結果。
其實從 iPhone 計算器的運算過程中我們就可以發現,問題的本質在于我們和計算器的運算邏輯不同。
由于 iPhone 在輸入百分号後會直接顯示結果,我們可以看到第一個 10% 按下後,系統顯示的結果是 0.1 ,而第二個 10% 則變成了 0.01 。
也就是說計算器把第二個 10% 認定為之前輸入的 10% 的十分之一,結果就變成了 1% ,10% 1% 結果可不就是 11% ,0.11 嘛。
會出現這樣的結果是有原因的。。。
一開始計算器上是沒有 % 這個符号的,但是為了方便國外人用計算器計算一件東西的折扣或者稅率,而專門設計了 % 這種運算方式。
給大家舉個栗子:原價 10 塊的東西,今天有 8.5% 的折扣,那麼就可以表達成 10 - 8.5% = 9.15 ,這時候這個 8.5% 會默認乘以前面輸入的數字。。
因此這種計算方法也就成為了全球标準的計算器運算邏輯,而這種計算器也叫做:百分計算器。
要是換成在中國,我們會直接說這東西打 9.15 折,計算方式會變成 10 X 0.915 = 9.15 ,所以國内大家并不熟悉這套百分計算器的邏輯。
結果是一樣的,但是解題思路不一樣罷了,誰叫計算器是外國人先發明的呢?國際标準隻能按他們的來了。
所以說,10% 10% = 0.11 嚴格來說并不是計算器的 BUG 。
可是計算器終究是由人創造出來按照固定邏輯進行數值運算的設備,隻要是人為編程,肯定是會存在 BUG 的,那麼計算器出了 BUG 會是什麼樣呢?
記得小時候,剛開學拿着計算器的我聽見一個坊間傳說:隻要拿着你的計算器按照一定順序按下某些字符,就會出現非常神奇的事情。
這種行為被叫做“ 爆機 ”,在學生群體中非常流行。
我們都知道,一般情況下科學計算器如果輸入了一些常規的不符合計算規則的數據,它會顯示一個“ error ”來表示出錯。
這種情況下系統會提示操作者如何進行操作,屬于正常的錯誤範圍。
可“ 爆機 ”狀态不一樣,在這個狀态下,整個屏幕都會顯示亂碼,什麼都看不清楚,更不用說繼續操作了,一般隻有重啟能解決問題。
甚至有的情況下,連開關鍵都會失效,隻能通過摳電池強制重啟來解決。
如果把計算器的計算過程比作做菜,普通報錯隻是相當于放錯調料味道不對,還是有補救機會的,“ 爆機 ”則像是你往炒鍋裡加入了鋁熱劑,打得炒鍋猝不及防。。。
其實“ 爆機 ”的原理就是輸入某些數據使得計算結果數據溢出,造成計算器的顯示錯誤。
如果學生們研究爆機隻是為了炫耀鋁熱劑可以把炒鍋燒糊,那麼長大之後依然堅持研究爆機的人,他們的目标就是真的用鋁熱劑來出一本菜譜了。。。
我們都知道,現在市場上的科學計算器品類很多,每個品牌下又各自有許多型号,同樣的爆機方法不一定就能适用于每一台計算器。
有許多爆機愛好者專門聚在一起,組建了一個叫 fx-es(ms) 的貼吧,從根本原理層面上研究計算器的爆機過程,并且彙總了各種計算器的爆機方法。
随便打開其中一個目錄,你就會發現它的下方有非常詳細的各種錯誤、亂碼的方法以及實測。
與此同時還有許多貼吧的吧友也在分享着自己的爆機經驗,學術氛圍之濃厚,學術态度之嚴謹,不知道的人還以為自己來到了 C 語言吧。
在研究爆機的過程中,他們接觸到了科學計算器的底層原理,于是便不再滿足于爆機,而是在計算器上做更有趣的事情 —— 編程 。
比如用計算器玩打桌球遊戲。
或者把它當做一個模拟器來玩《 精靈寶可夢 紅 》,還是彩色的!
有的人甚至可以用計算器進行輸入練習。
計算器在絕大多數人眼裡,都是一個非常可靠的計算工具,在小時候它能幫我們解開四則運算,幫我們解開一元二次方程,甚至能幫我們畫出函數圖像。
這簡直是數學之神的化身啊!
可随着我們慢慢長大,我們發現這個“ 數學之神 ”也不是完美無缺,它也存在 BUG ,甚至我們可以在了解其原理後操控它做其他事情。
人天生都有着求知探索的精神,而這些計算器 BUG 被發現解決的過程,何嘗不是一種另類的樂趣呢?
“ 我已經忘了該怎麼按了。。。”
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!