過去問解きまくり研究所 ホーム

平成22年度 春期 午前 問2

基礎理論

浮動小数点に関する問題

図に示す 16 ビットの浮動小数点形式において,10 進数 0.25 を正規化した表現はどれか。ここで,正規化は仮数部の最上位けたが 1 になるように指数部と仮数部を調節する操作とする。

〔16 ビットの浮動小数点形式〕

左から  s:1 ビット / e:4 ビット / f:11 ビット
小数点の位置 … e と f の境目(図では ▲ で示されている)

s : 仮数部の符号(0:正,1:負)
e : 指数部(2 を基数とし,負数は 2 の補数で表現)
f : 仮数部(符号なし 2 進数)
答えと解説を見る

✓ これが正解ウs=0 / e=1111 / f=10000000000

解説

指数を −1 とし、4 けたの補数で 1111 と書きます。

浮動小数点の形式は回ごとに決められ方が違うので、まず設問が置いた取り決めを 2 つ拾います。1 つ目は小数点の位置で、この形式では指数部と仮数部の境目に置かれています。2 つ目は指数部の表し方で、2 を基数とし、負数は補数で表すと書かれています。四つの候補は仮数部がどれも 10000000000 で共通なので、見るのは符号部と指数部だけです。仮数部を小数点の位置から読むと 2 進数の 0.1、すなわち 0.5 になり、最上位けたが 1 なので正規化も済んでいます。求めたいのは 0.25 ですから、0.5 に 2 の何乗を掛ければよいかを解くと指数は −1 です。4 けたの補数で −1 を作るには、+1 の 0001 をけたごとに反転して 1110 とし、さらに 1 を足して 1111 とします。正解は符号部が 0、指数部が 1111、仮数部が 10000000000 の組で、値に戻すと +0.5 × 2 の −1 乗 = 0.25 となり設問と一致します。

ほかの選択肢はなぜ違うのか

出典:平成22年度 春期 応用情報技術者試験 午前 問2

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)