關務人員考試關務四等-資訊處理(選試英文)科別計算機概要114 年第 13 題單選題
將兩組 10 位元 2 的補數的數值 1100101101 與 0010110011 相加,其結果為十進位的:
A正確答案
2的補數加法題,最快解法是「先二進位相加,再轉十進位」。相加得 1111100000,最高位為 1 代表負數,取反加一得 32,故答案為 -32。
為什麼答案是 A
兩數相加結果為 1111100000。在 10 位元 2 的補數系統中,最高位(第10位)為 1 代表負數。將其取 2 的補數(0000011111 + 1 = 0000100000)得到絕對值 32,故原數值為 -32。
載入中…
完整詳解
Pro · 無限重點 2的補數加法題,最快解法是「先二進位相加,再轉十進位」。相加得 1111100000,最高位為 1 代表負數,取反加一得 32,故答案為 -32。
直接將兩字串相加:1100101101 + 0010110011 = 1111100000。首位是 1 必為負數,將其「取反加一」得 0000100000 (即 32),加上負號即為 -32。
逐選項分析
A✓ 正確
兩數相加結果為 1111100000。在 10 位元 2 的補數系統中,最高位(第10位)為 1 代表負數。將其取 2 的補數(0000011111 + 1 = 0000100000)得到絕對值 32,故原數值為 -32。
B✕ 陷阱
這是最常見的陷阱!若忽略題目說的「2的補數」,直接把相加結果 1111100000 當作「無號數 (Unsigned)」轉換成十進位,就會算出 512+256+128+64+32 = 992。
C✕
純粹的計算錯誤干擾選項。無論是先轉十進位再相加,還是先相加再轉十進位,都不會得到這個正數結果。
D✕
計算錯誤干擾選項。可能是在將 0000100000 轉換為十進位時,誤將 2的5次方 (32) 算成 2的6次方 (64)。
2的補數系統 (2's Complement) 核心觀念
| 觀念 | 判斷方式 | 轉換十進位方法 | 範例 (8位元) |
|---|
| 正數 | 最高位元 (Sign bit) 為 0 | 直接按權重展開計算 | 00000101 = 5 |
| 負數 | 最高位元 (Sign bit) 為 1 | 先「取反加一」得絕對值,再加負號 | 11111011 -> 取反加一得 00000101 (5) -> -5 |
考選部最愛考的陷阱:算出二進位結果後,忘記檢查「最高位元」。只要題目明示為「2的補數」,最高位是 1 就絕對是負數,千萬不能直接當作無號數去加總權重(否則會選到 B 選項的 992)。