💡 第3回 2進数・16進数
コンピュータの母国語。位取りがわかれば怖くない
🔓 この講座で解けるようになる問題:基数変換の問題(FE最頻出テーマ)
1. 10進数を分解してみる
ふだん使う10進数「325」は、実はこういう意味です。 325 = 3×100 + 2×10 + 5×1 = 3×10² + 2×10¹ + 5×10⁰ 「桁の位置が10の累乗を表す」——これが位取り記数法。2進数はこの「10」が「2」に変わるだけです。
2. 2進数→10進数
2進数 1101 を10進数にしてみます。桁の重みは右から 1, 2, 4, 8(=2⁰, 2¹, 2², 2³)。 1101 = 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13 手順:右から「1,2,4,8,16…」と重みを書き、1が立っている桁の重みを足すだけ。
3. 10進数→2進数
13を2進数にするには「2で割って余りをメモ」を繰り返します。 13 ÷ 2 = 6 余り 1 6 ÷ 2 = 3 余り 0 3 ÷ 2 = 1 余り 1 1 ÷ 2 = 0 余り 1 余りを下から読んで 1101。 別解:13以下でいちばん大きい2の累乗(8)から引いていく方法もあります。13−8=5、5−4=1、1−1=0 → 8,4,1が使われた → 1101。好きな方でOK。
4. 16進数は2進数の速記
16進数は0〜9のあとA(10) B(11) C(12) D(13) E(14) F(15)を使います。 便利なのは、16進数1桁 = 2進数4桁がピッタリ対応すること。 2進数 1011 0101 → 4桁ずつ区切る → 1011=B、0101=5 → 16進数 B5 長い2進数も4桁ずつ区切れば一瞬で16進数に変換できます。逆も同じ。
5. 小数がついたら
2進数の小数点以下の重みは 1/2, 1/4, 1/8…(=0.5, 0.25, 0.125)。 2進数 0.11 = 0.5 + 0.25 = 0.75 よく出る対応: 0.5=0.1、0.25=0.01、0.75=0.11、0.125=0.001 「1/2, 1/4, 1/8 = 0.5, 0.25, 0.125」の3つを覚えておけばFEの小数問題はほぼ対応できます。
📌 これだけ覚える
- ✅桁の重みは右から 1, 2, 4, 8, 16…
- ✅2進→10進:1が立つ桁の重みを足す
- ✅10進→2進:2で割って余りを下から読む
- ✅16進1桁=2進4桁(4桁ずつ区切る)
- ✅小数の重みは 0.5, 0.25, 0.125…
読んだ直後に解くのがいちばん定着します
次へ:第4回 負の数と補数 ▶