CO-S24情報Ⅰ 対策問題

コンピュータとプログラミング思考・計算

4ビットの2の補数表現で「-5」を表すとどれか。

解答・解説を見る

正解: 1

正答

1

この問題のポイント

2の補数の作り方(反転して1を足す) を問う問題です。手順の暗記に加えて「足すと0になる」検算まで使えると盤石です。

解説

コンピュータにはマイナス記号がないため、負の数もビット列で表す工夫が必要です。その標準的な方法が2の補数で、「元の数と足すと(桁あふれを除いて)0になる数」を負の数の表現として使います。こうすると、引き算を足し算の回路だけで実現できるという大きな利点があります。

-5を4ビットの2の補数で表す手順です。

  1. まず+5を4ビットの2進数で表す: 5 = 4+1 → 0101
  2. 全ビットを反転する(0⇔1): 0101 → 1010(これを1の補数と呼ぶ)
  3. 1を足す: 1010 + 1 = 1011
  4. よって -5 = 1011

検算します。0101(+5) + 1011(-5) = 10000。4ビットからあふれた先頭の1を捨てると0000、つまり0になります。「+5と-5を足したら0」という当たり前の関係が成り立つので、正しい表現だと確認できました。

2の補数では、先頭のビットが1なら負の数を表します(1011は先頭が1なので負)。共通テストでは「反転して1を足す」の手順そのものや、「1を足し忘れた1010(反転のみ)」を誤答に混ぜる形が定番です。手順と検算をセットで使い、引っかけを見破りましょう。

選択肢の確認

1.○ 0101→反転1010→+1で1011。+5と足すと桁あふれで0になる。
2.× 0101は+5そのもの。符号が反転できていない。
3.× 1101は2の補数で-3(0011の反転+1)。
4.× 1010は反転しただけの1の補数で、1を足し忘れている。

ここだけは覚えよう

2の補数=「ビット反転して1を足す」 — 検算は「元の数と足して桁あふれで0」。

関連問題

CO-S23CO-S25