2の補数表現で表された2進数の減算を、2の補数を用いた加算によって計算する問題です。以下の2つの計算を行います。 (1) $(01101)_2 - (00110)_2$ (2) $(00110)_2 - (01101)_2$ 計算の過程を示し、結果が正の数の場合はそのまま、負の数の場合は2の補数を求めて表現します。最上位桁からの繰り上がり(キャリー)がある場合は無視します。
2025/6/19
1. 問題の内容
2の補数表現で表された2進数の減算を、2の補数を用いた加算によって計算する問題です。以下の2つの計算を行います。
(1)
(2)
計算の過程を示し、結果が正の数の場合はそのまま、負の数の場合は2の補数を求めて表現します。最上位桁からの繰り上がり(キャリー)がある場合は無視します。
2. 解き方の手順
(1)
- まず、引く数 の2の補数を求めます。
- 2の補数は、ビットを反転させて1を加えることで求められます。
- のビット反転は となります。
- に1を加えると となります。これが の2の補数です。
- 次に、 に を加算します。
- 最上位桁からの繰り上がり(キャリー)があるので、これを無視します。
- 結果は となります。符号ビットは0なので、そのまま正の数です。
(2)
- まず、引く数 の2の補数を求めます。
- のビット反転は となります。
- に1を加えると となります。これが の2の補数です。
- 次に、 に を加算します。
- 結果は となります。符号ビットは1なので、結果は負の数です。
- 負の数の絶対値を求めるために、 の2の補数を求めます。
- のビット反転は となります。
- に1を加えると となります。
- したがって、 は を表します。
3. 最終的な答え
(1)
(2)