重點 本題最快解法是先觀察A、B最高位元皆為0(正數),直接轉十進位計算 51 - 85 = -34,避開繁瑣的二進位補數運算。
A=(00110011)₂=51,B=(01010101)₂=85。直接用十進位相減:51 - 85 = -34。秒殺!
逐選項分析
A✓ 正確
A的最高位為0,轉十進位為 32+16+2+1 = 51;B的最高位為0,轉十進位為 64+16+4+1 = 85。51 - 85 = -34,故選A。
B✕
算出 34 代表正負號顛倒,通常是因為粗心將題目看成 B - A (85 - 51 = 34) 所致。
C✕ 陷阱
若用二進位計算 A-B,會得到 (11011110)₂。此選項的陷阱在於忽略了最高位元1代表負數,直接將其當作「無號數(Unsigned)」轉換為十進位 (128+64+16+8+4+2 = 222)。
D✕
這是一個湊數選項,結合了正確的負號與錯誤的無號數數值(222),在2的補數系統中,8位元能表示的最小負數為 -128,不可能出現 -222。
8位元二進位表示法比較 (以 11011110 為例)
| 表示法 | 最高位元意義 | 數值計算方式 | 十進位結果 |
|---|
| 無號數 (Unsigned) | 數值 (128) | 128+64+16+8+4+2 | 222 |
| 符號與大小 (Sign-Magnitude) | 符號 (1=負) | -(64+16+8+4+2) | -94 |
| 1的補數 (1's Complement) | 符號 (1=負) | 反轉後轉十進位加負號 | -33 |
| 2的補數 (2's Complement) | 符號 (1=負) | 反轉加1後轉十進位加負號 | -34 |
考生若選擇先用二進位進行 A + (-B) 的補數加法,會得到結果 (11011110)₂。此時極易忘記這是在「2的補數」系統下,最高位1代表負數,而直接將其當作一般二進位轉成十進位的 222(選項C)。