普考-資訊處理計算機概要105 年第 28 題單選題
若某電腦系統以 8 位元(bit)表示一個整數,且負數採用 2 的補數方式表示,則二進位數值 10010110 轉換為十進位,其數值為:
A正確答案
8位元2的補數中,最高位為1代表負數,將其反轉加1後轉為十進位即為其絕對值。
為什麼答案是 A
最高位為1表示負數。將 10010110 反轉得 01101001,加1得 011010102=10610,加上負號即為 −106。
載入中…
完整詳解
Pro · 無限重點 8位元2的補數中,最高位為1代表負數,將其反轉加1後轉為十進位即為其絕對值。
最高位為1,是負數。取1的補數得 $01101001$,加1得 $01101010_2 = 106_{10}$,故為 $-106$。
逐選項分析
A✓ 正確
最高位為1表示負數。將 $10010110$ 反轉得 $01101001$,加1得 $01101010_2 = 106_{10}$,加上負號即為 $-106$。
C✕ 陷阱
這是只取1的補數(反轉位元)而未加1的結果。
8位元帶號整數裡,最高位是1就是負數,這時要先把所有位元反轉(0變1、1變0)再加1,得到的才是該負數的絕對值。很多人看到負數直接轉十進位就錯了,或只做反轉忘了加1。關鍵判斷:看到最高位=1,必須「全部反轉→加1→再算十進位」三步驟,少任何一步答案都會差一大截。考試最愛考你漏掉那個+1,或搞混1的補數跟2的補數的差別。