第1種情報処理技術者試験 |
1998年度 = 平成10年度 |
午前 |
問1 |
IEEE754(1985)標準では、32ビットの浮動小数点数を次の形式で表現する。
┌─┬────┬───────────────────────┐
│S│ E │ M │
└─┴────┴───────────────────────┘
S:符号、 1ビット
E:指数部、 8ビット、2進数値、バイアス値127
M:仮数部、23ビット、2進小数値
この形式で表される数値は(-1)S (2E-127) (1.M)となる。ここで、(1.M)は、正規化して1の位が1で残りの小数部分がMであることを表す。
ただし、特別な値については、次の表のとおりに表現する。
特別な値
| 符号
| 指数部
| 仮数部
|
+∞
| 0
| 000…0
| 00…0以外
|
-∞
| 1
| 000…0
| 00…0以外
|
Nan (非数)
| 0 1
| 111…1 111…1
| 00…0以外 00…0以外
|
+0
| 0
| 000…0
| 000…0
|
-0
| 0
| 000…0
| 000…0
|
次の値のうち、正しい浮動小数点表現になっているものはどれか。
| 値
| 符号
| 指数部
| 仮数部
|
ア
| 0.25
| 0
| 01111110
| 100 …… 00
|
イ
| 1.5
| 0
| 01111111
| 100 …… 00
|
ウ
| 絶対値での最小値
| 0
| 00000000
| 000 …… 01
|
エ
| 最大値
| 0
| 11111111
| 111 …… 11
|
イ
それぞれの選択肢で与えられた〔符号〕、〔指数部〕、〔仮数部〕から、値を求めていきましょう。なお、茶色は2進数、黒は10進数とします。
ア 符号:0 指数部:01111110 仮数部:100 …… 00
(-1)0 × 201111110-127 × 1.100 …… 00
= 1 × 2126-127 × (1+0.5)
= 1 × 2-1 × (1.5)
= 0.75
0.25ではなく、正解でないことが分かります。
イ 符号:0 指数部:01111111 仮数部:100 …… 00
(-1)0 × 201111111-127 × 1.100 …… 00
= 1 × 2127-127 × (1+0.5)
= 1 × 20 × (1.5)
= 1.5
正解です。
ウ 符号:0 指数部:00000000 仮数部:000 …… 01
与えられた表の特別な値+∞です。正解ではありません。
エ 符号:0 指数部:11111111 仮数部:111 …… 11
与えられた表の特別な値Nan(非数)です。正解ではありません。