離散数学(全64問中36問目)
No.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という同様の結果が加算で求められることがわかります。
例として 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を加えて完成します。
広告