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 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!
相似類型題目
8 位元的2 進制正負數表示法分別有符數-大小(Signed-Magnitude)表示法、1 的補數(1'S)表示法及2 的補數(2'S)表示法等3 種,其特性下列哪些正確?
兩個八位元有號數相加,下列哪一組會產生溢位?
十六進位數5BD3 的2 的補數為何?
設一採用2 的補數之加法器,配合有5 個位元之狀態暫存器由左而右依序為:1.進位旗標:0 表示沒有進位、1 表示有進位,2.零值旗標:0 表示結果非零、1 表示結果為零,3.溢位旗標:0 表示沒有溢位、1 表示有溢位,4.正負旗標:0 表示結果為正、1 表示結果為負,5.偶同位旗標:0 表示有奇數個1、1 表示有偶數個1。現有二數-1 及+1 相加,則其運算完後,此PSW 為何?
對於8-bit 的微算機系統,若採用帶號(Signed)系統之運算時,下列哪些十進制數值的運算,會產生溢位(Overflow)的狀況?