IEEE 754 浮動小数点数の練習問題
単精度(32ビット)の符号部・指数部・仮数部への分解を、何問でも生成する練習問題。バイアス127の足し忘れや、省略される先頭の1をその場で指摘します。
符号1・指数8・仮数23という内訳を覚えても、バイアス127をどちら向きに使うのかと、仮数部の先頭の1が省略されることの2点で必ず詰まります。ここは理屈より、正規化してビットを並べる手順を体に入れたほうが速いです。
問(1〜50)
問題 1
結果
型別の正答率
| 問題の型 | 正解 | 正答率 |
|---|
間違えた問題
このセットのURL:
同じURLを開けば、いつでも同じ問題を解き直せます。
この練習問題の作り
- 問題は毎回その場で作られます。あらかじめ用意した問題を並べているのではないので、解き尽くすことがありません。
- 誤答は「ありがちな間違い」から作っています。バイアス127を足し忘れる・引く向きを逆にする、省略される先頭の1を仮数部に含めてしまう、符号ビットを立て忘れる——といった、実際に起きるミスです。
- 間違えた選択肢が何を表すかまで出ます。「不正解」で終わらせず、自分が何を計算したのかが分かります。
- 型別の正答率が出ます。5種類の型のうち、どこで落としているかが結果画面で分かります。
出題される型
- 10進数 → 指数部
- 指数部 → 実際の指数
- 実際の指数 → 指数部
- 10進数 → 先頭12ビット
- 10進数 → 仮数部の先頭4ビット
例題
実際に出題される問題の例です。ページ上のアプリでは、これと同じ形式の問題が何問でも生成されます。
例題 110進数 → 指数部
10進数の −3.5 を IEEE 754 単精度(32ビット)浮動小数点数形式で表したときの、指数部(8ビット)の値はどれですか。
- 01111000
- 01111111
- 10000000 ← 正解
- 10000010
−3.5 を正規化すると ±1.△△ × 2^1 の形になります。指数部にはバイアス127を加えた値が入るので 1 + 127 = 128。これを8ビットの2進数で表すと 10000000 です。
例題 2実際の指数 → 指数部
IEEE 754 単精度浮動小数点数形式で、実際の指数が 1 のとき、指数部(8ビット)に格納される値はどれですか。
- 01111110
- 10001000
- 10000000 ← 正解
- 10000001
指数部にはバイアス127を加えた値が入ります。1 + 127 = 128 なので、8ビットの2進数では 10000000 です。バイアスは、負の指数も符号なしの8ビットで表せるようにするための工夫です。
例題 3指数部 → 実際の指数
IEEE 754 単精度浮動小数点数形式で、指数部(8ビット)が 10000111 でした。実際の指数はいくつですか。
- −120
- 8 ← 正解
- 9
- 135
10000111 は10進数で 135 です。指数部はバイアス127を加えた値が格納されているので、実際の指数は 135 − 127 = 8 です。
よくある質問
IEEE 754 浮動小数点数の練習問題は何問ありますか。
問題は固定ではなく、その場で生成しています。1〜50問の範囲で解きたい問題数を指定でき、何度でも新しい問題が出ます。
同じ問題をもう一度解けますか。
解けます。出題するとURLに問題セットの識別子が付きます。そのURLを開き直せば、まったく同じ問題が同じ順番で出ます。
間違えた問題だけ解き直せますか。
解き直せます。結果画面に「間違えた問題だけ解き直す」ボタンがあります。型別の正答率も表示されるので、どの型で落としているかが分かります。