LONGEPASS
Q67.

用一位元組代表2 的補數,其值為0FEH,若將此數往左移3 位元後,所代表的數值為多少?

儀表電子 · 甲級 · 嵌入式系統概論與應用及程式設計 · Q67

難易度分析

3 / 5

題目測驗 8 位元 2 的補數識讀、算術左移等價乘 2ⁿ 的理解,並需辨別與 unsigned 解讀之差異,屬於需掌握基本概念且包含單一陷阱的中等難度。

正確答案:③-16

③ -16:0FEH = 1111 1110B,在 8 位元 2 的補數 中表示 -2。左移 3 位元等同乘以 2³ = 8,故 -2 × 8 = -16;以二進位而言,1111 1110 左移 3 位元後得 1111 0000B,即 -16 的 2 的補數表示。

錯誤選項解析

  • ① 240:240 是將 0FEH 誤認為無號數(十進位 254)後左移 3 位元並取低 8 位元所得的結果(254 × 8 = 2032,2032 mod 256 = 240),但本題明確指定為 2 的補數(有號數) 運算,故不適用無號數解讀。
  • ② 120:120 的數值與本題運算無關,可能是將 0FEH 錯誤換算或位移量計算錯誤所致。正確做法應先將 0FEH 解讀為 2 的補數的 -2,再進行位移。
  • ④ -8:-8 相當於僅左移 2 位元(-2 × 4 = -8),但題目要求左移 3 位元,故答案應為 -16 而非 -8。此選項為位移量混淆的常見錯誤。
Learning Tip

"本題核心考點為 2 的補數 的解讀與 算術左移 的運算規則。在 8 位元有號數 中,最高位元為符號位元,0FEH 的 MSB 為 1 代表負數,其值為 -2。左移 n 位元等同乘以 2ⁿ,但需注意 溢位(overflow) 問題——若位移後超出 8 位元有號數範圍(-128 ~ +127),結果將不正確。常考陷阱在於混淆 有號數與無號數 的解讀方式,以及誤判位移量對應的倍率。"

學員答題分佈

①2400%
②1200%
③-160%
④-80%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目