2進小数の位取りは割り算でどう決まる?
基本情報技術者試験 平成31年度春期 午前 問1 / 基礎理論 › 離散数学
過去問にチャレンジ
10進数の演算式7÷32の結果を2進数で表したものはどれか。
- ア
0.001011
- イ
0.001101
- ウ
0.00111
- エ
0.0111
会話形式の解説
講師まず、32が2の何乗かと、2進小数の各桁が表す値に注目します。
受験者32は2の5乗です。7を2進数にすると111ですが、小数点を何桁動かすかで迷います。
講師111を32で割るので、小数点を左へ5桁移します。結果は0.00111です。
受験者0.00111の1は小数第3位から第5位ですね。それぞれどんな値ですか。
講師順に1/8、1/16、1/32です。足すと7/32になり、元の計算と一致します。
受験者0.0111も1が三つありますが、先頭の1の位置が違います。
講師そうです。0.0111は1/4+1/8+1/16=7/16で、求める値の2倍です。
受験者0.001011と0.001101は桁数が同じなので、1のある位置を一つずつ見ます。
講師0.001011は1/8+1/32+1/64=11/64です。7/32を14/64に直すと、一致しません。
受験者0.001101は1/8+1/16+1/64=13/64で、これも14/64とは違います。
講師そのとおりです。候補ごとに1の立つ桁の値を足せば、元の分数と比較できます。
受験者2の累乗で割るときは桁を移し、迷ったら分数に戻して確認します。
講師2進小数の小数第n位は2の−n乗です。1の数だけでなく、その位置も確かめます。
まとめ
32は2の5乗なので、7を表す2進数111の小数点を左へ5桁移します。得られる0.00111は、1/8+1/16+1/32=7/32です。他の候補は1が立つ桁の値を足しても7/32になりません。2進小数では、1の数とともに位置を確認します。
解答・解説
正解はウです
この問題のテーマ
10進数の割り算の結果を、2進小数の位取りに従って表す問題です。
解き方の考え方
32は2の5乗、7は2進数で111です。したがって、111を小数点から右へ5桁分移すと0.00111になります。各選択肢も小数部分を分数に直せば、計算結果と照合できます。
選択肢ごとの解説
- ×ア 0.0010110.001011の1が立つ桁を足すと、1/8+1/32+1/64=11/64です。求める7/32は14/64なので一致しません。
- ×イ 0.0011010.001101を分数に直すと、1/8+1/16+1/64=13/64です。これも7/32=14/64とは異なります。
- ○ウ 0.001110.00111では、小数第3位から第5位までが1です。その値は1/8+1/16+1/32=7/32となり、7÷32と一致します。
- ×エ 0.01110.0111の値は1/4+1/8+1/16=7/16です。求める7/32の2倍なので、先頭の1が立つ桁を確かめると違いが分かります。
POINT
- 2進小数では、小数第n位の1は2の−n乗を表します。
- 2の累乗で割るときは、2進数の桁をその指数の数だけ右へ移すと考えられます。
- 候補を確かめるときは、1が立つ桁の値を足して元の分数と比較します。
