2進数から10進数への変換方法(補数表現を含む) – 解説と例題

数学

情報の授業でよく出題される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の補数を使って計算します。これらの手順をしっかりと覚えておけば、テストの問題もスムーズに解けるようになります。

コメント

タイトルとURLをコピーしました