【生活中的數學】等等,怎麼計算機跟我算的不一樣?躲藏在計算機裡的人性化設計

閱讀時間約 3 分鐘
老師!我用計算機算 10% + 20% ,結果不是 30% 耶!而且顛倒過來算 20% + 10% ,結果又不一樣了!怎麼會這樣?
現代手機十分普及,幾乎每款手機都會內建自己的計算機,協助大家處理日常計算問題。如今程式與運算思維正流行,也讓數學課逐漸添加計算機教學。雖然考試仍然不會讓學生使用計算機,但我一有機會還是會讓學生瞭解計算機的操作方式。
前陣子學生詢問我有關使用計算機的題目,他說:「老師!我用計算機算 10% + 20% ,結果不是 30% 耶!而且顛倒過來算 20% + 10% ,結果又不一樣了!怎麼會這樣?」聽他描述的我,馬上拿起手機計算機確認。
這邊先介紹如何用計算機表達 10% 的數字,如果是手機的計算機(我以iPhone內建的計算機當作例子),先按數字鍵 1 和 0,接著再按下 % 的按鍵,就可以得到 10% 的數值,也就是 0.1。同理我們按下 20%,會得到 0.2。
學生問我的問題是,以前學到百分比符號時,我們如果要計算 10% + 20%,答案應該就是 30% 沒錯,換算成小數 0.1 + 0.2 則等於 0.3。那為何在計算機按下 10% + 20%,得到的卻是 0.12,是哪裡弄錯了嗎?
我照著學生的方式操作了計算機,想觀察究竟是發生了什麼事情。我發現,算式左邊的 10%,在計算機顯示出來的數字一樣是 0.1,但當我們按下 + ,再按下 20% 時,會看到螢幕當下顯示出 0.02 ,推論計算機把 20%當作是前面 10% 的 20% 了。接著按下 = 後,計算機會將 0.1 和 0.02 加起來,因此得到 0.12。這個推論應該是正確的,當我們交換順序,計算 20% + 10% 時,計算機會算成 0.2 + 0.2*0.1,得到 0.22 的結果,與我們的推論相符。
我在課堂上有和學生討論到兩數的加法具有交換律,簡單來說,就是 2 + 3 = 3 + 2,國中學到的任何數,都具有這樣的顛倒相加答案仍然一樣的性質。學生正是因為計算機的結果跟學過的知識相違背,因此,除了相加不等於 30% 的問題之外,也產生了以下的疑惑,「為何顛倒後計算起來不一樣,百分比符號轉換成小數,應該也有交換律對吧?」
這個問題其實也在剛才的討論裡得到解答,對計算機來說,百分比做相加,是會計算前一個數字的百分比的。
那麼也就產生另一個疑問,為什麼要這樣設計呢?
查了一些資料後,也聯想到這樣的計算方式很像餐廳收服務費。假設你今天到一間吃到飽火鍋店,消費了 500 元,通常在結帳時可能會需要多收 10% 的服務費,這個 10% ,就是你消費金額 500 元的 10%。與學生討論過後,我們認為對店員來說,他在結帳時會需要計算 500 + 500*10% 。而我們又很習慣直接訂下要加上幾%的服務費,舉例來說,口語表達為「加上10%服務費」。因此猜測計算機這樣的設計,對於需要計算服務費、小費、稅金等等這類常與百分比符號結合使用的項目,這樣的計算方式方便使用者按下按鍵,計算出正確的結果。
讀者不妨可以嘗試,計算機按下 「10 + 10%」,得到的結果會是 10 + 10*10% = 11,並不是 10.1,真的很神奇。
avatar-img
43會員
198內容數
我是巴斯光綸,一位喜愛電影的數學教師。 喜歡讓人願意一看再看的好電影,也喜歡用數學看待世界。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
影印紙也有數學? 像這類生活中常見的事物,有時候背後的設計原理或許就會有數學,數學並不可怕,它帶給我們很多的美的感受。分享自己覺得很特別的影印紙的數學給大家!
影印紙也有數學? 像這類生活中常見的事物,有時候背後的設計原理或許就會有數學,數學並不可怕,它帶給我們很多的美的感受。分享自己覺得很特別的影印紙的數學給大家!
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
「在 JavaScript 中 0.1 + 02 等於多少?」 這是我在面試時會問的一題。有經驗的工程師應該知道我在問什麼,但相信仍有不少人可能還不知道 0.1 + 0.2 不等於 0.3。
Thumbnail
在她還四五歲時,父親曾經教她1~100內的數數字和加法的方法。 1+1=2、10+5=15⋯⋯ 教學的方法是先利用手指將一個數字數出,另外一個數字在慢慢用剩下手指算出總和。 而這樣的方法會受限於手指和腳趾數目,只能做20以內的加法計算。 不到一會,她便順利學會。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
數學中的除法常常讓人困惑,特別是為什麼不能除以0,本文以生動的例子與情境來解釋除法的概念,讓讀者更容易理解。
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
這篇內容,將會講解什麼是運算子,以及與運算子相關的知識。包括運算子的簡介、賦值運算子、算術運算子、遞增/遞減、比較運算子、邏輯運算子。
今天要來討論 1 + "1" 。 如果當兩個操作數都是數字時,+ 會執行數字相加。例如,1 + 1 結果是 2。 那如果是"1"+"1",就變成字符串相加變成11。 那我們今天要講的是1 + "1",答案是11,為甚麼呢? 這是一個類型強制轉換,今天當 + 遇到不一樣的類型時,JavaScrip
有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
Thumbnail
電腦只做一件事情: 運算。 我們所看到的任何酷酷的應用: 不論是網頁動畫、遊戲特效、甚至是 AI 說的話,全部都 是由電腦的運算結果組合而成的。 首先我們來梳理一下各個名詞之間的關聯: 1. 運算分成兩個部分: 運算子 (運算的名稱,如: 加法) 和運算元 (運算的對象,如: 8)。運算就是對資
Thumbnail
「在 JavaScript 中 0.1 + 02 等於多少?」 這是我在面試時會問的一題。有經驗的工程師應該知道我在問什麼,但相信仍有不少人可能還不知道 0.1 + 0.2 不等於 0.3。
Thumbnail
在她還四五歲時,父親曾經教她1~100內的數數字和加法的方法。 1+1=2、10+5=15⋯⋯ 教學的方法是先利用手指將一個數字數出,另外一個數字在慢慢用剩下手指算出總和。 而這樣的方法會受限於手指和腳趾數目,只能做20以內的加法計算。 不到一會,她便順利學會。
Thumbnail
本課程學習如何實作處理加、減、乘和除按鈕等計算機相關邏輯。
Thumbnail
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
數學中的除法常常讓人困惑,特別是為什麼不能除以0,本文以生動的例子與情境來解釋除法的概念,讓讀者更容易理解。