次の24ビットの浮動小数点形式で表現できる最大値を表すビット列を、16進数として表したものはどれか。
ここで、この形式で表現される値は(-1)S×16E-64×0.Mである。
ア | 3FFFFF |
イ | 7FFFFF |
ウ | BFFFFF |
エ | FFFFFF |
答え イ
【解説】
まず、符号(S)の値について考える。
Sに関係するのは(-1)S なのでSが0と1の時のこの式の値を考える。
0の時は-1の0乗なので1になり、1の時は-1の1乗なので-1になる。求める数は最大値なので、正の数を表すS=0になる。
次に指数部(E)について考える。
Eに関係するのは 16E-64 なのでEが大きければ大きいほど大きな数字になることがわかるから、E=1111111b(127)になる。
ここでSとEから求める数は7Fxxxxであることがわかるので、答えはイになる。
ちなみに答えの7FFFFFは、MがFFFFh=65535なので、1663×0.65535になります。(大きすぎて読み方がわかりません。)
コンピュータにはほかに固定小数点という形式もありますが、考え方が普段使用している形式なので簡単にわかると思います。
浮動小数点と固定小数点では浮動小数点の方が計算に時間がかかるという特徴があります。
【キーワード】
・浮動小数点