基本情報技術者 2014年 春期 午前(科目A) 問01
問題文
次の10進小数のうち、2進数で表すと無限小数になるものはどれか。
選択肢
ア:0.05(正解)
イ:0.125
ウ:0.375
エ:0.5
🔒 解説は解答すると表示されます
2進小数の循環性判定【午前解説】
正解の理由
答えは ア です。理由は次のとおりです。
任意の10進小数は分数で表せます。例えば 。これを既約化した分母が なので素因数に5が含まれており、2進(基数)で有限小数にできません。したがって は2進で無限小数になります。
一方、他の選択肢は既約化した分母が2の冪のみであるため2進で有限小数です(以下で個別に示します)。
任意の10進小数は分数で表せます。例えば 。これを既約化した分母が なので素因数に5が含まれており、2進(基数)で有限小数にできません。したがって は2進で無限小数になります。
一方、他の選択肢は既約化した分母が2の冪のみであるため2進で有限小数です(以下で個別に示します)。
解法ステップ
- 与えられた小数を分数に直す(例:)。
- 分子・分母を既約化する(約分)。
- 既約化した分母の素因数を調べる。
- 分母の素因数が2のみなら2進で有限小数、2以外(例:5)が含まれていれば無限小数。
(代替法)小数を2を掛けていき、有限回で整数になれば有限、ならなければ無限と判定できます。
選択肢別の誤答解説
- ア: 0.05 = 。分母に5が残るため2進では無限小数です(正解)。
- イ: 0.125 = 。分母は2の冪のみなので2進で有限()。
- ウ: 0.375 = 。分母は2の冪のみなので2進で有限()。
- エ: 0.5 = 。明らかに分母は2の冪なので2進で有限()。
よくある誤解
- 10進で有限だから2進でも有限だと勘違いする:10進で有限でも分母に2以外の素因数(特に5)が残れば2進で無限になります。
- 既約化を忘れる:分子・分母を約分せずに判定すると誤答につながることが多いです。必ず既約分数にしてから分母の素因数を確認してください。
- 見た目の小ささで判断する:値が小さいから有限、という直感は通用しません。因数分解で決まります。
補足コラム
- 一般化:基数で有限小数になる有理数は、既約分数の分母の素因数がすべての素因数に含まれるものです。10進では素因数が2と5、2進では2のみ。
- 実務的観点:多くの10進小数(例:0.1)は2進で無限小数なので、コンピュータの浮動小数点(IEEE 754)では近似表現になります。数値誤差に注意が必要です。
- 覚え方:10進小数の判定は「約分して5が残るかどうか」を見るだけでよい、という速い判定法を習得すると便利です。
FAQ
Q1: どうやってすぐ判定できますか?
A1: 小数を分数にして約分し、分母に5が残っているかを確認します。残れば2進で無限です。
A1: 小数を分数にして約分し、分母に5が残っているかを確認します。残れば2進で無限です。
Q2: なぜ分母の素因数が重要なのですか?
A2: 基数で有限小数になるのは、の素因数だけで分母を生成できる場合だけだからです。2進なら2だけが許されます。
A2: 基数で有限小数になるのは、の素因数だけで分母を生成できる場合だけだからです。2進なら2だけが許されます。
Q3: 小数を2倍して終わるかで判定する方法は?
A3: はい。小数に2を繰り返し掛けて、有限回で整数になれば有限小数です。なるまでに無限に続くなら無限小数です。
A3: はい。小数に2を繰り返し掛けて、有限回で整数になれば有限小数です。なるまでに無限に続くなら無限小数です。
Q4: 表示が有限でも浮動小数点では誤差が出ますか?
A4: 基本的に2進で有限なら浮動小数点で正確に表現できますが、演算で誤差は発生し得ます。2進で無限な値は近似になります。
A4: 基本的に2進で有限なら浮動小数点で正確に表現できますが、演算で誤差は発生し得ます。2進で無限な値は近似になります。
関連キーワード: 2進数、小数、有理数、分数の既約化、進数変換、分母の素因数、IEEE754、表現誤差、試験対策

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

