← きそ講座一覧

4回 負の数と補数

「引き算を足し算に変える」コンピュータの知恵

🔓 この講座で解けるようになる問題:2の補数・負数表現の問題

1. なぜ補数が必要?

コンピュータの回路は足し算が得意で、引き算は苦手。そこで「引き算を足し算に変換する」仕組みが2の補数です。 例えるなら、時計の針を3時間戻す代わりに9時間進めるのと同じ発想。12時間時計では「−3」と「+9」は同じ場所に着きます。

2. 2の補数の作り方

手順は2つだけ。8ビットで「−5」を作ってみます。 ① 5を2進数にする → 0000 0101 ② 全ビットを反転(0↔1)→ 1111 1010 ③ 1を足す → 1111 1011 これが−5。「反転して+1」と唱えて覚えましょう。 検算:5 + (−5) = 0000 0101 + 1111 1011 = 1 0000 0000。9桁目(あふれた1)は捨てるので、結果は0000 0000 = 0。ちゃんと0になりました。

3. 先頭ビットは符号

2の補数表現では、先頭(いちばん左)のビットが符号を表します。 0で始まる → 0以上の数 1で始まる → 負の数 8ビットなら −128 〜 +127 が表せます。「nビットで表せる範囲は −2ⁿ⁻¹ 〜 2ⁿ⁻¹−1」という形で問題に出ます。

📌 これだけ覚える

  • 2の補数=引き算を足し算にする仕組み
  • 作り方は「反転して+1」
  • 先頭ビット1なら負の数
  • nビットの範囲は −2ⁿ⁻¹ 〜 2ⁿ⁻¹−1
🧮 この単元を演習する

読んだ直後に解くのがいちばん定着します

次へ:第5加重平均