Q28.
八位元的有號數加法運算,運算完的結果為X,則X 在下列何種情況下會產生溢位(overflow)?
儀表電子 · 乙級 · 微電腦概論與應用 · Q28
難易度分析
3 / 5
本題要求對有號數的表示範圍有精確的掌握,特別是需要區分邊界值與溢位觸發條件的細微差異,選項設計中包含容易混淆的不等號符號,增加了判別難度。
正確答案:①X<-128 或X>+127
① X<-128 或X>+127:八位元有號數採用二補數表示時,可表示的範圍為 -128 至 +127。當加法運算的數學結果超出此範圍(即 X < -128 或 X > +127)時,最高有效位元(MSB)的進位會導致數值錯誤,此即為溢位(overflow)的定義。
錯誤選項解析
- ② -128<X<+127:此範圍表示結果嚴格落在可表示區間內部,此時不會產生溢位。錯誤在於將「不溢位的條件」誤認為溢位條件。
- ③ X≦-128 或X≧+127:-128 與 +127 本身均為八位元有號數可合法表示的值,當結果恰好等於邊界值時並不會溢位。錯誤在於使用了包含等號的條件,將合法邊界值誤判為溢位。
- ④ -128≦X≦+127:此為八位元有號數的完整合法表示範圍,落在此區間內的結果均為正確值,不會產生溢位。此選項描述的是「安全範圍」而非溢位條件。
Learning Tip
"本題核心考點為二補數表示法的範圍邊界與溢位判定條件。常考陷阱在於混淆「嚴格不等號(<)」與「包含等號(≤)」的差異:溢位是指結果超出可表示範圍,邊界值本身(-128、+127)是合法的,因此必須使用嚴格不等號。實務上,微處理器通常透過檢查符號位元的進位(Carry-in)與進位輸出(Carry-out)是否不同來判定溢位,此為 ALU 設計的重要觀念。"
學員答題分佈
①X<-128 或X>+1270%
②-128<X<+1270%
③X≦-128 或X≧+1270%
④-128≦X≦+1270%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!