5ビットで表される2進数と負数を2の補数表現に変換して、以下の計算を加算で行います。 * 5(d) - 3(d) * 5(d) - 15(d) * -9(d) - 6(d) * -12(d) - 4(d) * -7(d) - 6(d) また、2進数の表現で2の補数を使用する理由を選択肢から選びます。
2025/5/12
1. 問題の内容
5ビットで表される2進数と負数を2の補数表現に変換して、以下の計算を加算で行います。
* 5(d) - 3(d)
* 5(d) - 15(d)
* -9(d) - 6(d)
* -12(d) - 4(d)
* -7(d) - 6(d)
また、2進数の表現で2の補数を使用する理由を選択肢から選びます。
2. 解き方の手順
各計算について、以下の手順で計算します。
1. 各数値を5ビットの2進数で表現します。
2. 負の数を2の補数で表現します。
3. 2つの数を加算します。
4. 結果を10進数で表現します。
**計算1: 5(d) - 3(d)**
* 5(d) = 00101
* 3(d) = 00011
* -3(d)の2の補数 = 11101
* 00101 + 11101 = 00010 (繰り上がりは無視)
* 結果: 2
**計算2: 5(d) - 15(d)**
* 5(d) = 00101
* 15(d) = 01111
* -15(d)の2の補数 = 10001
* 00101 + 10001 = 10110
* 結果: -10
**計算3: -9(d) - 6(d)**
* -9(d)の2の補数 = 10111
* -6(d)の2の補数 = 11010
* 10111 + 11010 = 10001 (繰り上がりは無視)
* 結果: -15
**計算4: -12(d) - 4(d)**
* -12(d)の2の補数 = 10100
* -4(d)の2の補数 = 11100
* 10100 + 11100 = 10000 (繰り上がりは無視)
* 結果: -16
**計算5: -7(d) - 6(d)**
* -7(d)の2の補数 = 11001
* -6(d)の2の補数 = 11010
* 11001 + 11010 = 10011 (繰り上がりは無視)
* 結果: -13
2進数の表現で2の補数を使用する理由は、「減算を、負数の作成と加算処理で行うことができる」からです。
3. 最終的な答え
* 5(d) - 3(d) = 00101 + 11101 = 00010 = 2
* 5(d) - 15(d) = 00101 + 10001 = 10110 = -10
* -9(d) - 6(d) = 10111 + 11010 = 10001 = -15
* -12(d) - 4(d) = 10100 + 11100 = 10000 = -16
* -7(d) - 6(d) = 11001 + 11010 = 10011 = -13
2の補数を使用する理由:減算を、負数の作成と加算処理で行うことができる