➖ 第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回 加重平均 ▶