8進数で有限小数になるかを見抜く方法 ~約分して分母を見るだけ~

広告

はじめに

基本情報技術者試験では、2進数・8進数・16進数などの基数変換に関する問題がよく出題されます。

今回のような問題では、

10進小数を8進数に変換したとき、有限小数になるものはどれか

という形で出題されます。

実際に小数変換をする方法もありますが、もっと簡単な方法があります。

それは、

「分数にして、約分後の分母を見る」

という方法です。


8進数の仕組みを理解する

まず、8進数とは何でしょうか?

10進数では、

を基準にしています。

一方、8進数では、

が基準です。

さらに、

と表せます。

つまり、8進数の小数は、

のような形になります。

分解すると、

です。

つまり、8進数で有限小数になる条件は、

約分した後の分母が2のべき乗になること

です。


問題

次の10進小数のうち、8進数に変換したとき有限小数になるものはどれか。

ア 0.3
イ 0.4
ウ 0.5
エ 0.8

判断方法

① 0.3の場合

小数を分数にします。

約分できません。

分母を見ると、

です。

5が残っています。

分母
10
↓
2 × 5

5がある
↓
有限にならない

したがって、

❌ 0.3


② 0.4の場合

約分します。

分母は5です。

分母
5

2の仲間ではない
↓
有限にならない

❌ 0.4


③ 0.5の場合

約分すると、

になります。

分母は、

2

だけです。

これは、

なので条件を満たします。

実際に確認すると、

は、

になります。

なぜなら、

だからです。

⭕ 0.5


④ 0.8の場合

約分すると、

です。

分母を見ると、5

があります。

分母
5

2のべき乗ではない
↓
有限にならない

❌ 0.8


答え


覚え方

基数変換の有限小数判定は、次の表で覚えると便利です。

変換先基数有限小数になる条件
2進数2分母が2のべき乗
8進数8(=2³)分母が2のべき乗
16進数16(=2⁴)分母が2のべき乗
10進数10(=2×5)分母が2と5だけ

なぜ「約分」が重要なのか?

例えば、

を見ると、

「分母が8だから大丈夫」

と思ってしまいます。

しかし、

です。

有限小数かどうかを判断するときは、

必ず約分後の分母を見る

ことが重要です。


試験での解き方(最短ルート)

① 小数を分数にする

0.5 → 5/10

② 約分する

5/10 → 1/2

③ 分母を見る

2のべき乗?
↓
Yes

有限小数!

この方法なら、実際に8進数へ変換する計算をしなくても数秒で判断できます。


まとめ

8進数で有限小数になるかを判断するときは、

  1. 10進小数を分数にする
  2. 約分する
  3. 分母が2のべき乗か確認する

これだけです。

「変換する前に、分母を見る」

という考え方を身につけると、基数変換問題のスピードが大きく上がります。

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

広告

C#

Posted by hidepon