IEEE単精度浮動小数点形式(符号部1ビット、指数部8ビット、仮数部23ビット)を用いて、10進数の-0.125を表現し、その過程と結果を求める問題です。IEEE倍精度浮動小数点形式のビット数、および0と無限大をIEEE単精度浮動小数点形式で表す問題も含まれます。
2025/5/26
1. 問題の内容
IEEE単精度浮動小数点形式(符号部1ビット、指数部8ビット、仮数部23ビット)を用いて、10進数の-0.125を表現し、その過程と結果を求める問題です。IEEE倍精度浮動小数点形式のビット数、および0と無限大をIEEE単精度浮動小数点形式で表す問題も含まれます。
2. 解き方の手順
(1) IEEE形式の基数は2です。これは、2進数を使用しているためです。
(2) IEEE倍精度浮動小数点形式は64ビットです。
(3) 10進数の-0.125を2進数で表します。
したがって、-0.125は2進数で-0.001となります。
(4) (3)で求めた2進数の数値を指数表記で表します。整数部が1となるように正規化します。
(5) 符号部は負なので1です。
符号部: 1
(6) 指数部を計算します。バイアス値はです。指数は-3なので、バイアスを加えた値はです。
124を2進数で表すと01111100となります。
指数部: 01111100
(7) 仮数部は1.0から1を除いた0を23ビットで表します。
仮数部: 00000000000000000000000
(8) 符号部、指数部、仮数部を合わせて16進数で表します。
符号部: 1
指数部: 01111100
仮数部: 00000000000000000000000
これらを繋げると1011 1110 0000 0000 0000 0000 0000 000
16進数ではBE000000となります。
(9) IEEE単精度浮動小数点形式で0を表すときは、全てのビットが0になります。
16進数では00000000となります。
(10) IEEE単精度浮動小数点形式で無限大を表すときは、指数部の全てのビットが1、仮数部の全てのビットが0になります。符号部は正の無限大の場合は0、負の無限大の場合は1となります。ここでは符号は指定されていないので、正の無限大とします。
符号部: 0
指数部: 11111111
仮数部: 00000000000000000000000
これらを繋げると0111 1111 1000 0000 0000 0000 0000 000
16進数では7F800000となります。
3. 最終的な答え
(1) 2
(2) 64
(3) -0.001
(4)
(5) 1
(6) 01111100
(7) 00000000000000000000000
(8) BE000000
(9) 00000000
(10) 7F800000