情報の授業でよく出題される2進数から10進数への変換問題について、特に補数表現が含まれる場合の解き方を解説します。ここでは、4ビットの整数を2進数から10進数に変換する方法を、ステップバイステップで説明します。
補数表現とは?
補数表現は、負の数を表すための方法です。コンピュータでは、符号付き整数を扱う際に、補数を使って負の数を表現します。補数の計算方法にはいくつかの種類がありますが、ここでは「2の補数」を扱います。2の補数表現では、最上位ビット(MSB)が0なら正の数、1なら負の数を意味します。
問題の解き方
以下の4つの2進数をそれぞれ10進数に変換する方法を見ていきます。補数表現の計算方法を理解していれば、簡単に解けます。
➀ 01 11 (2) の変換
まず、2進数01 11は符号付き4ビットの数です。最上位ビット(MSB)が0なので、この数は正の数です。この場合、2進数01 11はそのまま10進数に変換できます。
01 11 (2) = 0 × 2³ + 1 × 2² + 1 × 2¹ + 1 × 2⁰ = 4 + 2 + 1 = 7(10進数)
➁ 01 01 (2) の変換
次に、2進数01 01です。この数もMSBが0なので、正の数です。2進数をそのまま10進数に変換します。
01 01 (2) = 0 × 2³ + 1 × 2² + 0 × 2¹ + 1 × 2⁰ = 4 + 1 = 5(10進数)
➂ 11 11 (2) の変換
次に、2進数11 11です。MSBが1なので、この数は負の数であることが分かります。2の補数表現で負の数を求めるには、まず2進数の各ビットを反転し、1を加えます。
反転した数は00 00となり、1を加えると00 01になります。これを10進数に変換すると、1(10進数)です。このため、元の2進数11 11は-1(10進数)です。
11 11 (2) = -1(10進数)
➃ 11 01 (2) の変換
最後に、2進数11 01です。この数もMSBが1なので負の数です。同様に、2の補数を求めるためにビットを反転し、1を加えます。
反転した数は00 10となり、1を加えると00 11になります。これを10進数に変換すると、3(10進数)です。元の2進数11 01は-3(10進数)となります。
11 01 (2) = -3(10進数)
まとめ
2進数から10進数に変換する際に、補数表現を理解していることが重要です。符号付き4ビットの場合、最上位ビットが0なら正の数、1なら負の数となります。負の数の場合は、2の補数を使って計算します。これらの手順をしっかりと覚えておけば、テストの問題もスムーズに解けるようになります。


コメント