CO-S25|情報Ⅰ 対策問題
10進法の小数「0.25」を2進法で表すとどれか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
2進小数(小数点以下の重みは1/2, 1/4, …) を問う問題です。整数と同じく「桁の重み」で考えれば解けます。
解説
整数の2進数では桁の重みが 1, 2, 4, 8, … と2倍ずつ増えました。小数点より右では逆に、重みが 1/2(=0.5), 1/4(=0.25), 1/8(=0.125), … と半分ずつ小さくなります。10進小数の重みが 1/10, 1/100, … になるのと同じ理屈です。
0.25を2進小数にします。
- 小数第1位の重みは 1/2 = 0.5 → 0.25より大きいので使えない → 0
- 小数第2位の重みは 1/4 = 0.25 → ちょうど0.25なので1を立てる
- 残りは 0.25 - 0.25 = 0 → これで終わり
- よって 0.25(10進) = 0.01(2進)
代表的な対応を覚えておくと速く解けます。0.5 = 0.1、0.25 = 0.01、0.75 = 0.5+0.25 = 0.11、0.625 = 0.5+0.125 = 0.101。どれも「重みの組み合わせで表せるか」を考えるだけです。
一方、10進の0.1のように、1/2, 1/4, 1/8, …の組み合わせでは正確に表せない小数もあります。これがコンピュータの計算誤差(丸め誤差)の原因で、共通テストでは「0.1を2進数で表すと無限小数になる」という知識問題としても出ます。表せる小数と表せない小数がある、という視点まで持っておきましょう。
選択肢の確認
1.○ 0.25はちょうど1/4なので、1/4の位に1を立てて0.01。
2.× 0.1(2進)は1/2 = 0.5にあたる。
3.× 0.001(2進)は1/8 = 0.125にあたる。
4.× 0.11(2進)は1/2+1/4 = 0.75にあたる。
ここだけは覚えよう
小数点以下の重みは1/2、1/4、1/8… — 0.25=0.01、0.5=0.1、0.75=0.11は即答できるように。