IEEE 754 浮動小数点数の練習問題

結論

単精度(32ビット)の符号部・指数部・仮数部への分解を、何問でも生成する練習問題。バイアス127の足し忘れや、省略される先頭の1をその場で指摘します。

符号1・指数8・仮数23という内訳を覚えても、バイアス127をどちら向きに使うのかと、仮数部の先頭の1が省略されることの2点で必ず詰まります。ここは理屈より、正規化してビットを並べる手順を体に入れたほうが速いです。

問(1〜50)

この練習問題の作り

出題される型

例題

実際に出題される問題の例です。ページ上のアプリでは、これと同じ形式の問題が何問でも生成されます。

例題 110進数 → 指数部

10進数の −3.5 を IEEE 754 単精度(32ビット)浮動小数点数形式で表したときの、指数部(8ビット)の値はどれですか。

  1. 01111000
  2. 01111111
  3. 10000000 ← 正解
  4. 10000010

−3.5 を正規化すると ±1.△△ × 2^1 の形になります。指数部にはバイアス127を加えた値が入るので 1 + 127 = 128。これを8ビットの2進数で表すと 10000000 です。

例題 2実際の指数 → 指数部

IEEE 754 単精度浮動小数点数形式で、実際の指数が 1 のとき、指数部(8ビット)に格納される値はどれですか。

  1. 01111110
  2. 10001000
  3. 10000000 ← 正解
  4. 10000001

指数部にはバイアス127を加えた値が入ります。1 + 127 = 128 なので、8ビットの2進数では 10000000 です。バイアスは、負の指数も符号なしの8ビットで表せるようにするための工夫です。

例題 3指数部 → 実際の指数

IEEE 754 単精度浮動小数点数形式で、指数部(8ビット)が 10000111 でした。実際の指数はいくつですか。

  1. −120
  2. 8 ← 正解
  3. 9
  4. 135

10000111 は10進数で 135 です。指数部はバイアス127を加えた値が格納されているので、実際の指数は 135 − 127 = 8 です。

よくある質問

IEEE 754 浮動小数点数の練習問題は何問ありますか。

問題は固定ではなく、その場で生成しています。1〜50問の範囲で解きたい問題数を指定でき、何度でも新しい問題が出ます。

同じ問題をもう一度解けますか。

解けます。出題するとURLに問題セットの識別子が付きます。そのURLを開き直せば、まったく同じ問題が同じ順番で出ます。

間違えた問題だけ解き直せますか。

解き直せます。結果画面に「間違えた問題だけ解き直す」ボタンがあります。型別の正答率も表示されるので、どの型で落としているかが分かります。

ほかの練習問題