コンピュータでの引き算は、補数を使うことで加算の形式に変換して計算できます。この記事では、6bitでの2進数引き算、特に10進数(6)-10進数(25)を例に手順を詳しく解説します。
ステップ1:数値を2進数に変換
まず10進数を6bitの2進数に変換します。
- 6 → 000110
- 25 → 011001
ここで注意:6bitで表現できる最大値は63です。
ステップ2:引き算を補数で表現
引き算 A-B は A+(-B) に変換します。負の数 B の2の補数を用意します。
ステップ3:Bの2の補数を求める
1. Bのビットを反転(0→1, 1→0)
011001 → 100110
2. 1を加える
100110 + 1 → 100111
これが25の6bitでの2の補数です。
ステップ4:Aに補数を加算
000110 + 100111 → 101101
最上位ビット(6bit目)が1なので負の数になります。6bitで計算している場合、オーバーフローが起こると正しく解釈するために必要に応じて7bit目を捨てるか調整します。
ステップ5:結果の解釈
正しい手順で計算すると、(6-25) = -19 となります。元の質問では、15という答えは誤りです。補数計算の手順でビット幅と符号を正確に扱う必要があります。
まとめ
- 補数を用いることで引き算は加算に変換可能
- ビット幅と符号の扱いに注意
- 6-25の6bit補数計算結果は-19であり、15ではない
計算の各ステップを確認しながら、ビットの反転・加算・符号の解釈を行うことが重要です。


コメント