重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

基本情報試験の勉強で、この問題がよく意味がわかりません。答えはエだそうですが、どうしてこうなるんでしょうか?解説をお願いいたします。

●2進の浮動小数点表示で誤差を含まずに表現できる10進数はどれか。

ア 0.2 
イ 0.3
ウ 0.4      
エ 0.5

A 回答 (1件)

2進数の各桁の数値は、2のn乗です。


小数点第1位が1/2、小数点第2位が1/4、・・・と、2の(-n)乗に対応します(10進数の場合、小数点第1位が1/10、小数点第2位が1/100というのと同じです)
2進数が誤差なく表現できるのは、この2の(-n)乗の和で表現できる数値に限られます。
たとえば、0.75 = (0.5) + (0.25) = 2^(-1) + 2^(-2)なので、2進数で誤差なく表現できます。

選択肢の中で、0.2/0.3/0.4については、にわかに2の(-n)乗の和で表現できるかどうかわからないですが、0.5は2の(-1)乗ですから、明らかに2の(-n)乗の和で表現できることがわかります。
答えが1つなので、正解はエであることがすぐわかります。

ただし、もしある数字が2進数で誤差なく表現できるかときかれた場合は、順次

0.5を引く→0.25を引く→0.125を引く→0.0625を引く・・・

という風にしていって、最終的にゼロにならないことを証明する必要があります。これは無理数の証明となり、若干困難です。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2007/02/12 11:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!