[0052] 浮動小数点

平成12年度秋期 (旧)第2情報処理技術者試験より
 IEEE 754 (1985) 標準では、32ビットの浮動小数点を次の形式で表現する。



S:符号、1ビット
E:指数部、8ビット
M:仮数部、23ビット

この指数部を取り出すためのマスクビットを、16進数表現したものはどれか。ここで、マスクビットとは、必要な情報を取り出すためにビットごとのAND 演算を行う際に使うビットパターンのことである。
0FF00000
7F800000
FF000000
FF800000

正解

解説

 マスクビットに関する問題です。

 マスクビットとは、あるビット列から必要なビット列の情報を取り出すために使われるビットパターンのことです。通常、マスクビットを使って必要な情報を取り出すといった場合、あるビット列の必要な部分はそのままにして、その他のビットは0で得ることを指します。

AND演算を使う場合のマスクビットは、
  • 取り出そうとしているビット列は 1
  • その他のビット列は 0
とします。

 下の表はAND演算のすべてのパターンを列挙したものですが、マスクビットという考え方は、AND演算の性質をうまく応用しているということが分かると思います。




 値2が 0 のとき演算結果は常に 0値2が 1 のとき演算結果は値1と同値となっています。マスクビットは、AND演算のこの性質を利用して、求めたい値の部分を 1、それ以外の不要な部分を 0 としているのです。

 この問題では、仮数部(左側から2~9ビット目)が得られるようにしたいので、



よって、このマスクビットを16進数で表現すると、



 となるので、イが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題