情報セキュリティスペシャリスト平成21年秋期 午前Ⅰ 問1

問1

2進数の表現で,2の補数を使用する理由はどれか。
  • 値が1のビットを数えることでビット誤りを検出できる。
  • 減算を,負数の作成と加算処理で行うことができる。
  • 除算を,減算の組合せで行うことができる。
  • ビットの反転だけで,負数を求めることができる。
  • [出典]
  • 応用情報技術者
    平成21年秋期 問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を加えて完成します。
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop