4ビットの2進数(ただし、負の数は補数表現)を10進数に変換する問題です。与えられた2進数は (1) 0111(2), (2) 0101(2), (3) 1111(2), (4) 1101(2) の4つです。
2025/7/1
1. 問題の内容
4ビットの2進数(ただし、負の数は補数表現)を10進数に変換する問題です。与えられた2進数は (1) 0111(2), (2) 0101(2), (3) 1111(2), (4) 1101(2) の4つです。
2. 解き方の手順
4ビットの2進数の補数表現された数を10進数に変換するには、以下の手順で行います。
* **最上位ビットを確認:** 最上位ビット(MSB)が0の場合は正の数、1の場合は負の数を表します。
* **正の数の場合:** 通常の2進数から10進数への変換を行います。
* **負の数の場合:**
* 2の補数を求めます(各ビットを反転し、1を加える)。
* 求めた2の補数を10進数に変換します。
* 符号を反転させます。
では、それぞれの手順に従って計算します。
(1) 0111(2)
* MSBは0なので正の数です。
*
(2) 0101(2)
* MSBは0なので正の数です。
*
(3) 1111(2)
* MSBは1なので負の数です。
* 2の補数を求めます: 0000 + 1 = 0001
*
* 符号を反転: -1
(4) 1101(2)
* MSBは1なので負の数です。
* 2の補数を求めます: 0010 + 1 = 0011
*
* 符号を反転: -3
3. 最終的な答え
(1) 7
(2) 5
(3) -1
(4) -3