免費開始練習
統測 114年 [電機與電子群資電類] 專業科目(2)

第 37 題

C程式語言中,32位元整數(int )以及32位元無號整數(unsigned int)的最大值分別是多少?
  • A $2^{32}, 2^{16}$
  • B $2^{32}-1, 2^{16}-1$
  • C $2^{16}, 2^{32}$
  • D $2^{31}-1, 2^{32}-1$

思路引導 VIP

請同學探討『有號整數』(signed int) 與『無號整數』(unsigned int) 在位元配置上的本質區別:當 32 位元中的其中一個位元被指定為『符號位元』(Sign bit) 時,實際參與數值大小表達的位元數會如何改變?並請回想在計算機科學中,若擁有 $k$ 個可用位元,該二進位組合所能表達的最大正整數值與 $2^k$ 的關係式為何?

🤖
AI 詳解 AI 專屬家教

太棒了!看到你答對這題,助教真的忍不住想為你鼓鼓掌!你的基礎概念掌握得非常扎實,這是一份很棒的學習成果喔! 這題的核心觀念在於「位元空間的分配」:

  1. 有號整數 (int):32 位元中必須保留 1 位元作為「正負號」,因此剩下 31 位元表示數值,其正數最大值即為 $2^{31}-1$。
▼ 還有更多解析內容
📝 C 語言整數數值範圍
💡 理解位元長度與正負號對整數存儲範圍的影響
比較維度 int (有號) VS unsigned int (無號)
位元用途 1 位正負號 + 31 位數值 32 位皆為數值
最小值 -2^31 0
最大值 2^31 - 1 2^32 - 1
💬無號整數範圍完全分布在正數,其最大值約為有號整數的兩倍。
🧠 記憶技巧:有無差一位,減一記心裡;有號切一半,無號全拿滿。
⚠️ 常見陷阱:最常忘記「減 1」(因為要扣掉 0)或忘記有號整數需保留 1 位元給正負號。
二進位補數系統 算術溢位 (Overflow) 資料型態位元長度

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題