平成30年度 秋期 午前 問1
離散数学
16進数に関する問題
16進数の小数 0.248 を10進数の分数で表したものはどれか。
- ア31/32
- イ31/125
- ウ31/512
- エ73/512
答えと解説を見る
✓ これが正解エ73/512
解説
各桁の重みを分数のまま足し、約分して答えを出します。
16進数の小数は、小数第1位が16分の1、第2位が256分の1、第3位が4096分の1という重みを持ちます。0.248 は、その重みに各桁の数字を掛けて足し合わせた値です。2には16分の1、4には256分の1、8には4096分の1が対応します。分母を4096にそろえると、それぞれ512と64と8になります。足すと4096分の584が得られます。584も4096も8で割り切れるので、約分すると512分の73です。先に10進の小数へ直そうとすると、割り切れない値が出て手間が増えます。重みを分数のまま扱えば、約分まで一本道で進みます。分母が2を何回か掛けた値のままである点も、答えを選ぶ手掛かりになります。同じ進め方は2進数や8進数の小数にも使えて、変わるのは重みの分母だけです。
ほかの選択肢はなぜ違うのか
- ア31/32:分母が32になっています。32は2を5回掛けた値で、3桁ぶんの重みには届きません。16進の1桁は2進の4桁に当たるので、3桁なら分母は4096まで伸びます。値も0.96875となり、与えられた小数と大きく離れます。
- イ31/125:分母の125は5を3回掛けた値です。2進や16進から生まれる分母は、かならず2を何回か掛けた値になります。10進で0.008が125分の1である点と取り違えると、基数の違う重みが一つの式に混ざってしまいます。
- ウ31/512:分母は512で合っていますが、分子だけが違います。512分の31は4096分の248と同じ値で、並んだ3文字をそのまま10進の248と読んで4096で割った形です。桁ごとの重みを掛けずに数字を読み流すと、この値に落ち着きます。
出典:平成30年度 秋期 基本情報技術者試験 午前 問1
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)