2進数で有限になる?無限になる? 分数を見るだけで判定する方法

広告

基本情報技術者試験では、10進数を2進数へ変換する問題が出題されます。

例えば、

  • 0.1875 は有限になる
  • 0.1 は無限になる

ということを覚えていても、「なぜそうなるのか」が分からないと応用が利きません。

今回は、分数を見るだけで有限か無限かを判定する方法を紹介します。


まずは例を見てみよう

例えば、0.1875 を2進数へ変換すると、

0.1875₁₀ = 0.0011₂

となり、途中で終わる有限小数です。

では、なぜ有限になるのでしょうか。


小数を分数に直す

まず、小数を分数にします。

0.1875 = 1875 / 10000

ここから約分します。

5で割れるだけ割っていくと、

1875 / 10000
= 375 / 2000
= 75 / 400
= 15 / 80
= 3 / 16

となります。

最終的な分母は

16 = 2 × 2 × 2 × 2 = 2⁴

です。

つまり、分母が2だけでできています。

だから、

3 / 16 = 0.0011₂

となり、有限小数になります。


判定のルール

とてもシンプルです。

① 分数を約分する
        ↓
② 分母を見る
        ↓
分母が2だけでできている
        ↓
2進数では有限

反対に、

約分したあとも
分母に3や5などが残る
        ↓
2進数では無限

となります。


例題

有限になる例

分数分母判定
1/22有限
3/44有限
5/88有限
3/1616有限

どれも分母は2だけでできています。


無限になる例

分数分母判定
1/55無限
2/55無限
1/1010 = 2 × 5無限
3/2020 = 2² × 5無限

「2が含まれているから有限」ではありません。

5が残っているので無限になります。


約分を忘れないこと

ここが試験でも間違えやすいポイントです。

例えば、

5/10

を見ると、

「分母が10だから無限かな?」

と思ってしまう人がいます。

しかし、

5/10 = 1/2

と約分できます。

分母は2だけになったので、

有限です。

同じように、

6/12 = 1/2
15/40 = 3/8
3/12 = 1/4

もすべて有限になります。


考え方

約分は一気に暗算できなくても大丈夫です。

例えば、

1875 / 10000

なら、

5で何回か割っていけば十分です。

1875 / 10000
↓
375 / 2000
↓
75 / 400
↓
15 / 80
↓
3 / 16

このように途中式を書けば、誰でも確実に約分できます。


練習問題

次の分数は、2進数で有限になりますか、それとも無限になりますか。

  1. 1/2
  2. 3/8
  3. 5/10
  4. 15/40
  5. 1/5
  6. 2/5
  7. 3/20
  8. 7/32
  9. 9/18
  10. 12/48
問題判定
1/2有限
3/8有限
5/10 = 1/2有限
15/40 = 3/8有限
1/5無限
2/5無限
3/20無限
7/32有限
9/18 = 1/2有限
12/48 = 1/4有限

まとめ

2進数で有限か無限かは、変換しなくても判定できます。

手順はたった2つです。

  1. 分数を約分する。
  2. 約分後の分母を見る。
  • 分母が 2だけ なら有限
  • 2以外(3・5・7など)が残る なら無限

このルールを覚えておけば、基本情報技術者試験の2進数変換問題を素早く正確に解けるようになります。

訪問数 23 回, 今日の訪問数 23回

広告