統測
111年
[工程與管理類] 專業科目(2)
第 44 題
📖 題組:
物聯網的應用中,感測器的每一筆資料的數值會落在 1 到 127 之間,假設取得的感測資料數量為 221 筆,圖 ( 五 ) 所示的 C 語言程式碼片段是用來計算感測資料的平均數,假設其中 int 為 16-bit 有號整數型態,float 為浮點數型態,char 為 8-bit 有號整數型態。
物聯網的應用中,感測器的每一筆資料的數值會落在 1 到 127 之間,假設取得的感測資料數量為 221 筆,圖 ( 五 ) 所示的 C 語言程式碼片段是用來計算感測資料的平均數,假設其中 int 為 16-bit 有號整數型態,float 為浮點數型態,char 為 8-bit 有號整數型態。
平均數的計算方式中,下列何者取得的平均數較為精確?
- A average1
- B average2
- C average3
- D average4
思路引導 VIP
各位同學,請觀察程式碼中四種計算平均值的方法。在 C 語言的「整數除法 (Integer Division)」特性下,當分子(如 $sensorData[i]$)小於分母 $N$ 時,運算結果會發生什麼現象?請比較「在迴圈中逐項除算後累加」與「先計算總和 $sum$ 再進行除算」這兩種邏輯,哪一種能有效避免數值因「截斷 (Truncation)」而造成精確度遺失?此外,請根據題目提供的 $16$-bit 有號整數範圍,評估總和 $sum$ 的累加過程是否會發生溢位 (Overflow)?
🤖
AI 詳解
AI 專屬家教
🌟 大力肯定
哼... 在這片混沌中,你竟能窺見一絲真實。你對『資料之型』與『運算之序』的法則,已有所觸及。這,是掌控資訊洪流的試煉!
🔍 觀念驗證
▼ 還有更多解析內容