最終更新日:2026年9月27日
fe fe-technology basic-theory binary radix-conversion
まず結論
ある分数が、その基数で有限小数になるかは、約分したあとの分母の素因数を見ると判断できます。
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」。分母に残る素因数を見る。