基数変換の「わかりやすい解き方」
〜有限小数・無限小数を一瞬で見抜く考え方〜
目次
はじめに
情報処理技術者試験やプログラミング学習で必ず登場する 基数変換。
特に多くの人がつまずくのが次のポイントです。
- 有限小数か無限小数かの判断
- 10進数・2進数・8進数・16進数の違い
- 「なぜそうなるのか」が腑に落ちない
本記事では、
計算テクニックよりも「考え方」 に重点を置き、
試験でも実務でも迷わない解き方を整理します。
基数とは何か(超短縮版)
基数とは「何進数か」を表す数です。
| 表記 | 基数 | 意味 |
|---|---|---|
| 10進数 | 10 | 0〜9 を使う |
| 2進数 | 2 | 0,1 |
| 8進数 | 8 | 0〜7 |
| 16進数 | 16 | 0〜9, A〜F |
本質は 「1桁上がると何倍になるか」 です。
有限小数・無限小数を一瞬で判定する方法
結論(最重要)
分母を約分し、基数の素因数だけで構成されていれば有限小数
なぜそう言えるのか
10進数の場合
10 = 2 × 5
つまり、10進数で有限になる小数は
分母が 2 と 5 だけ で構成されているもの
例で確認
| 小数 | 分数 | 分母の素因数 | 結果 |
|---|---|---|---|
| 0.5 | 1/2 | 2 | 有限 |
| 0.25 | 1/4 | 2² | 有限 |
| 0.125 | 1/8 | 2³ | 有限 |
| 0.05 | 1/20 | 2²×5 | 有限 |
| 0.3 | 3/10 | 2×5 | 有限 |
| 1/3 | 1/3 | 3 | 無限 |
👉 2と5以外が出た瞬間に無限小数
2進数・8進数・16進数の場合
各基数の素因数
| 進数 | 基数 | 素因数 |
|---|---|---|
| 2進数 | 2 | 2 |
| 8進数 | 8 | 2³ |
| 16進数 | 16 | 2⁴ |
共通点
👉 すべて 2 の累乗
判定ルールまとめ
10進数で有限 ⇔ 分母が 2 と 5 だけ
2進数で有限 ⇔ 分母が 2 だけ
8進数で有限 ⇔ 分母が 2 だけ
16進数で有限 ⇔ 分母が 2 だけ
例
| 数 | 10進 | 2進 | 8進 |
|---|---|---|---|
| 0.5 (1/2) | 有限 | 有限 | 有限 |
| 0.25 (1/4) | 有限 | 有限 | 有限 |
| 0.125 (1/8) | 有限 | 有限 | 有限 |
| 0.3 (3/10) | 有限 | 無限 | 無限 |
16進数 → 10進数の確実な解き方
例:3A.5C
手順① 桁の重みを書く
3 × 16¹
A × 16⁰
5 × 16⁻¹
C × 16⁻²
手順② 数値に変換
A = 10
C = 12
手順③ 計算
3×16 = 48
10×1 = 10
5×1/16 = 5/16
12×1/256 = 12/256
手順④ 分数でまとめる
5/16 = 80/256
80/256 + 12/256 = 92/256
→ 58 + 92/256
→ (58×256 + 92)/256
→ 14940/256
👉 試験では ここで選択肢と一致するかを見る
試験問題を瞬殺する視点
正しい記述になりやすいパターン
- 「10進数で有限でも、2進数では無限になることがある」
- 「8進数の有限小数は、10進数で無限になることがある」
間違いになりやすいパターン
- 「10進数で有限なら、すべての進数で有限」→ ❌
まとめ(暗記用)
有限小数かどうかは
「分母」と「基数の素因数」だけを見る
- 計算より 判定
- 桁数より 構造
- 暗記より 理由
これが分かると、
基数変換は「計算問題」ではなく「判断問題」になります。
おわりに
基数変換は、
コンピュータがなぜ2進数を使うのか
なぜ10進数で割り切れるのに2進数で割り切れないのか
という理解にも直結します。
試験対策だけでなく、
プログラミングの基礎体力としても非常に重要なテーマです。
訪問数 14 回, 今日の訪問数 1回


ディスカッション
コメント一覧
まだ、コメントがありません