2進数の補数表現で負の数を読み取る方法は、符号ビットや補数の定義に基づいて正確に記述することが重要です。本記事では、1000 0110(2)の例を使い、明確で一貫した記述方法を解説します。
1. 2進数補数表現の基本
符号付き2進数(2の補数表現)では、最高位(左端のビット)が符号ビットであり、1なら負、0なら正を表します。残りのビットは数値の大きさを表します。
8ビットの場合、値の範囲は-128から127です。
2. 補数を用いた負の数の読み方
例:1000 0110(2)
- まず、符号ビットを確認:1なので負の数。
- 残りの7ビットを反転し、1を加えることで正の値を求めます。
1000 0110 → 0111 1001(反転) → 0111 1010(+1) → 122(10)
符号ビットが負を示すので、結果は-122(10)です。
3. 符号ビットの重みを直接使う方法
別の記述方法として、符号ビットに-128の重みを割り当て、残りを通常の重みで足すことができます。
1000 0110(2) = -128 + 4 + 2 = -122(10)
この方法では、符号ビットを明示的に負の重みとして扱うため、補数計算を省略できます。
4. 256周期を利用した計算(8ビット)
符号ビットを無視して全ビットを通常の2進数として読み取り、結果から2の8乗を引く方法もあります。
1000 0110(2) → 134(10) → 134 – 256 = -122(10)
この方法は、符号なしとして読み取り、2の補数による負の値を計算する応用です。
5. 記述の推奨例
試験では、次のように記述すると安全で明瞭です。
- 符号ビットを確認し、1なら負と判断。
- 反転・加算で正の値を求め、符号を付ける。
- 必要に応じて、符号ビットの重みを直接使う方法も併記可能。
まとめ
補数表現の負の数を読む際は、符号ビットの確認と補数計算が基本です。符号ビットの重みを直接扱ったり、周期から引く方法も補助的に使えますが、まずは符号ビットを確認して補数を取る手順を明示するのが最も明確な記述方法です。


コメント