離散数学(全64問中36問目)

2進数の表現で,2の補数を使用する理由はどれか。

出典:平成21年秋期 問 1

  • 値が1のビットを数えることでビット誤りを検出できる。
  • 減算を,負数の作成と加算処理で行うことができる。
  • 除算を,減算の組合せで行うことができる。
  • ビットの反転だけで,負数を求めることができる。
正解 問題へ
分野:テクノロジ系
中分類:基礎理論
小分類:離散数学
解説
減算を、負数の作成と加算処理で行うことができるとは、以下のようにして処理を行うことです。

例として 123-86=37 を考えてみましょう。
まず式を 8ビットの2進数で表現すると、 
 0111 1011-0101 0110 となります。

次に加算処理で減算ができるように引く数 0101 0110を2の補数表現にします。
 ビット反転して 1010 1001
 1を加えて 1010 1010 です。

先程の式の符号を加算に変えて
 0111 1011+1010 1010

これを計算すると、
1 0010 0101 となり最上位の1ビットを桁あふれ扱いすると、

0010 0101=10進数で37という同様の結果が加算で求められることがわかります。
  • パリティビットの説明です。
  • 正しい説明です。
  • 確かに除算は、減算の組合せで行いますが2の補数表現は使用しません。
  • 1の補数表現の説明です。2の補数表現ではビット反転の後、1を加えて完成します。

Pagetop