Skip to the content.

最終更新日:2026年9月27日

まず結論

ある分数が、その基数で有限小数になるかは、約分したあとの分母の素因数を見ると判断できます。

FE試験では、まず次の3つを押さえると十分です。

2進数
→ 基数 2
→ 使える素因数は 2

8進数
→ 8 = 2³
→ 使える素因数は 2

10進数
→ 10 = 2 × 5
→ 使える素因数は 2 と 5

したがって、

2進の有限小数
→ 8進でも有限
→ 10進でも有限

8進の有限小数
→ 2進でも有限
→ 10進でも有限

10進の有限小数
→ 2進・8進で有限とは限らない

と判断できます。

2進・8進は「2だけ」、10進は「2と5」。分母に5が残ると、2進・8進では有限にならない。

直感的な説明

まず、2進小数を考えます。

0.1₂
= 1/2
= 0.5₁₀
0.01₂
= 1/4
= 0.25₁₀
0.001₂
= 1/8
= 0.125₁₀

2進数の有限小数は、分母が必ず

2
4
8
16
32
...

のような2の累乗になります。

10進数は、

10 = 2 × 5

なので、2の累乗を分母にもつ数を有限小数として表せます。

そのため、

2進数で有限なら、10進数でも必ず有限

です。

一方、10進数の 0.1 を考えます。

0.1₁₀
= 1/10
= 1/(2 × 5)

分母に 5 が含まれます。

2進数や8進数の基数には5が含まれないため、有限桁では表せません。

0.1₁₀
→ 2進数では循環する
→ 8進数でも循環する

ここが、今回のような問題を解くポイントです。

定義・仕組み

一般的な条件

分数を約分して、

p / q

とします。

この数が基数 b で有限小数になる条件は、

分母 q の素因数が、すべて基数 b の素因数に含まれていること

です。

言い換えると、ある整数 n について、

q が bⁿ を割り切れる

なら、その基数で有限小数になります。

10進数の場合

10進数の基数は、

10 = 2 × 5

です。

したがって、約分後の分母が、

2ᵃ × 5ᵇ

の形なら有限小数になります。

例えば、

1/8
= 1/(2³)
→ 10進数で有限

1/20
= 1/(2² × 5)
→ 10進数で有限

1/3
→ 分母に3
→ 10進数では循環

です。

2進数の場合

2進数の基数は2なので、分母が2の累乗だけなら有限小数になります。

1/2
1/4
1/8
1/16
...
→ 2進数で有限

一方、

1/5
1/10
1/3
...

は、約分後の分母に2以外の素因数が残るため、2進数では有限になりません。

8進数の場合

8進数は、

8 = 2³

です。

したがって、8進数で有限になる条件も、分母が2の累乗だけであることです。

1/8
= 0.1₈

1/64
= 0.01₈

また、8進数1桁は2進数3桁に対応します。

0.1₈
= 0.001₂

0.7₈
= 0.111₂

そのため、

2進数で有限 ⇔ 8進数でも有限

と考えられます。

16進数も同じ仲間

16進数は、

16 = 2⁴

なので、2進数・8進数と同じく、有限小数になるための分母の素因数は2だけです。

2進
8進
16進
↓
どれも基数の素因数は2だけ

16進小数の具体的な読み方は、16進小数とは?で整理しています。

科目Aでどう出る?

科目Aでは、

「ある基数の有限小数を別の基数へ変換したとき、有限小数になるか」

という形で出ることがあります。

このとき、実際に長い基数変換をするより、基数の素因数を見る方が速いです。

2進有限小数 → 10進数

2進
→ 分母は2の累乗

10進
→ 素因数2を使える

したがって
→ 必ず有限

例えば、

0.101₂
= 1/2 + 1/8
= 5/8
= 0.625₁₀

です。

8進有限小数 → 2進数

8 = 2³

なので、8進1桁を2進3桁へ置き換えれば、そのまま有限桁で表せます。

0.35₈
↓
3 → 011
5 → 101
↓
0.011101₂

したがって、8進有限小数が2進数で無限になることはありません。

8進有限小数 → 10進数

8進有限小数の分母は 8ⁿ = 2^(3n) です。

10進数は素因数2を含むので、必ず有限小数になります。

0.1₈
= 1/8
= 0.125₁₀

10進有限小数 → 8進数

ここは「必ず」ではありません。

例えば、

0.5₁₀
= 1/2
→ 8進数でも有限

ですが、

0.1₁₀
= 1/10
= 1/(2 × 5)

は分母に5が残るため、8進数では有限になりません。

10進有限
→ 2進・8進でも有限な場合はある

ただし
→ 必ず有限ではない

試験中の判断表

変換 有限になる? 判断理由
2進有限 → 8進 必ず有限 どちらも素因数は2だけ
2進有限 → 10進 必ず有限 10進は2を含む
8進有限 → 2進 必ず有限 8 = 2³
8進有限 → 10進 必ず有限 分母は2の累乗
10進有限 → 2進 必ずとは限らない 分母に5が残る場合がある
10進有限 → 8進 必ずとは限らない 分母に5が残る場合がある

問題文に「必ず」と書かれていたら、その方向が本当に常に成立するか確認します。

どんな場面で使う?

この考え方は、基数変換だけでなく、コンピュータの小数表現を理解するときにも役立ちます。

2進数で0.1を正確に表せない理由

10進数の 0.1 は、

0.1₁₀
= 1/10
= 1/(2 × 5)

です。

2進数の基数には5がないため、2進数では有限桁で表せません。

このため、コンピュータの浮動小数点数では、0.1 を近似値として保持することがあります。

10進では有限
↓
2進では循環
↓
有限ビットで途中まで保持
↓
丸めが必要

浮動小数点計算で起こる誤差は、浮動小数点数の計算誤差で整理しています。

2進小数を読むとき

2進小数の各桁は、

0.1₂   = 1/2
0.01₂  = 1/4
0.001₂ = 1/8

と読めます。

詳しくは、2進数の表現とは?で確認できます。

よくある誤解・混同

10進数で有限なら、どの基数でも有限

違います。

0.1₁₀
= 1/10

は10進数では有限ですが、2進数や8進数では循環します。

有限かどうかは、値だけでなく基数によって変わるのがポイントです。

8進数だから、分母に8だけが使える

厳密には、分母が8そのものに限られるわけではありません。

8 = 2³

なので、2の累乗を分母にもつ数なら8進数で有限にできます。

例えば、

1/2
= 0.4₈

です。

2進有限小数を10進数にすると循環することがある

ありません。

2進有限小数の分母は2の累乗だけです。

10進数は 2 × 5 を基数にもつため、2の累乗を必ず有限桁で表せます。

10進有限小数は、すべて2進数で循環する

これも違います。

例えば、

0.5₁₀
= 1/2
= 0.1₂

なので、2進数でも有限です。

分母に5が残る
→ 2進では有限にならない

分母が2の累乗だけ
→ 2進でも有限

と判断します。

変換するたびに実際の桁を計算しないと分からない

多くの場合、必要ありません。

約分
↓
分母を見る
↓
基数の素因数と比較

で有限かどうかを判断できます。

まとめ(試験直前用)

  • 有限小数になるかは、約分後の分母の素因数で判断する
  • 2進数の基数は 2
  • 8進数は 8 = 2³
  • 10進数は 10 = 2 × 5
  • 2進・8進の有限小数は、10進でも必ず有限
  • 2進と8進は、有限小数かどうかが互いに一致する
  • 10進有限小数は、2進・8進で有限とは限らない
  • 0.1₁₀ = 1/10 は、分母に5があるため2進・8進では有限にならない
  • 試験では「必ず」という表現に注意する

2・8・16は「2だけ」、10は「2と5」。分母に残る素因数を見る。

© 2024-2026 stemtazoo. All rights reserved.