[0147] 2の補数

平成12年度春期 (旧)第2情報処理技術者試験より
2進数 10110101 の8けたの2の補数はどれか。
01001010
01001011
10110100
10110110

正解

解説

 2の補数に関する問題です。

 補数については、バックナンバーの0041号で説明しています。重要な部分を抜き出してみましょう。



[補数とは?]

 補数とは、ある数が、ある基準となる数となるために加える必要がある数のことです。「ある基準となる数」には2つの考え方があり、
    1) その桁で最大の数になるもの
    2)ちょうど次の桁へ繰り上がりになるもの

があります。10進数であれば、1)のケースを9の補数、2)を10の補数といいます。例えば、10進数 46の9の補数、10の補数は以下のように求めることができます。
    2桁の10進数、46の9の補数は、99 - 46 = 53
    2桁の10進数、46の10の補数は、100 - 46 = 54

となります。

 2進数の場合も、10進数の場合と同様に、1の補数、2の補数があります。(2進数の1は桁内での最大数、2進数の2は桁が繰り上がった数です。10進数における、9、10と同じですね)



 この問題では、2の補数が求められているので、10110101 がちょうど9桁に桁上がりした、100000000 から 10110101 を引けば答えが求められます。

 よって、

   100000000 - 10110101 = 01001011

 となり、イが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題