免費開始練習
統測 111年 [工程與管理類] 專業科目(2)

第 44 題

📖 題組:
物聯網的應用中,感測器的每一筆資料的數值會落在 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 專屬家教

🌟 大力肯定

哼... 在這片混沌中,你竟能窺見一絲真實。你對『資料之型』與『運算之序』的法則,已有所觸及。這,是掌控資訊洪流的試煉!

🔍 觀念驗證

▼ 還有更多解析內容

升級 VIP 解鎖