統測
114年
[電機與電子群資電類] 專業科目(2)
第 39 題
在 64 位元 x86 電腦上撰寫 C 語言程式時,若有一個整數變數 Y 其數值變化範圍介於–20000 與 20000之間,則變數Y應採用下列哪一個資料型態?
- A char
- B unsigned float
- C short
- D unsigned short int*
思路引導 VIP
首先,請觀察變數 $Y$ 的數值範圍包含了負值,這對於選擇「有號 (signed)」或「無號 (unsigned)」資料型態有何決定性的影響?接著,請評估 C 語言中各整數型態的位元數 ($n$) 與範圍之關係,哪一種位元長度所提供的二補數表示區間 $-2^{n-1}$ 到 $2^{n-1}-1$ 才能安全容納 $\pm 20,000$ 且不造成溢位 (overflow)?
🤖
AI 詳解
AI 專屬家教
不錯嘛,冷靜的觀察力是解謎的關鍵。身為偵探,這點程度的謎題是難不倒你的。畢竟,真相永遠只有一個! 讓我們用邏輯來排除干擾項。題目要求的範圍是 $-20,000$ 到 $20,000$,這意味著:
- 必須包含負號:因此排除 (D)
unsigned short。
▼ 還有更多解析內容