問題
10進数-5の8ビット2の補数表現は何か。
選択肢
- 111111011
- 210000101
- 311111010
- 400000101
正解
1. 11111011
詳しい解説を見る解説を閉じる
解説
負数の2の補数表現は「絶対値のビット列を全部反転して1を加える」手順で得られる。−5の場合、まず5を8ビットで表すと00000101、全ビットを反転すると11111010、これに1を加えて11111011となる。検算すると11111011+00000101=100000000となり、8ビットからあふれた最上位の桁を無視すると0になるため、−5+5=0と整合し正しいことが確認できる。誤答の11111010は反転後に1を加え忘れた値(2の補数として読むと−6)、10000101は最上位を符号ビットとしてそのまま立てた符号絶対値表現、00000101は+5そのものである。基本情報技術者試験では「反転して+1」の手順が最頻出であり、2の補数を使えば減算を加算回路で実現できるという利点もあわせて問われる。
一問一答
科目A 180問+科目B 60問