与えられた10進数の $-0.125$ をIEEE754単精度浮動小数点形式(符号部1ビット、指数部8ビット、仮数部23ビット、合計32ビット)で表現する問題です。 また、関連するIEEE754形式に関する質問、0と無限大の表現を求める問題です。
2025/5/27
1. 問題の内容
与えられた10進数の をIEEE754単精度浮動小数点形式(符号部1ビット、指数部8ビット、仮数部23ビット、合計32ビット)で表現する問題です。
また、関連するIEEE754形式に関する質問、0と無限大の表現を求める問題です。
2. 解き方の手順
(1) IEEE形式の基数
IEEE754形式は2進数で表現されるため、基数は2です。
(2) IEEE倍精度浮動小数点形式
IEEE倍精度浮動小数点形式は64ビットです。
(3) 10進数の -0.125 を2進数で表す
まず、0.125を2進数で表します。
したがって、
よって、
(4) 2進数の指数表記
(5) 符号部
負の数なので符号部は1です。
(6) 指数部
バイアス値は です。
指数は-3なので、バイアスを加算すると となります。
124を2進数で表すと、 です。
(7) 仮数部
仮数部は1.0の小数点以下なので、0です。23ビットで表すので、 となります。
(8) 符号部・指数部・仮数部を合わせて16進表記
符号部: 1
指数部: 01111000
仮数部: 00000000000000000000000
全体: 1011 1100 0000 0000 0000 0000 0000 0000
16進数: BC000000
(9) IEEE単精度浮動小数点形式で0を表す場合
符号部、指数部、仮数部が全て0になります。
全体は00000000000000000000000000000000
16進数: 00000000
(10) IEEE単精度浮動小数点形式で無限大を表す場合
指数部が全て1、仮数部が全て0になります。
符号部は正の無限大なら0、負の無限大なら1です。問題文では特に指定がないため、正の無限大とします。
符号部: 0
指数部: 11111111
仮数部: 00000000000000000000000
全体: 0111 1111 1000 0000 0000 0000 0000 0000
16進数: 7F800000
3. 最終的な答え
(1) 2
(2) 64ビット
(3) -0.001(2)
(4) -1.0 * 2^(-3)
(5) 1
(6) 01111000
(7) 00000000000000000000000
(8) BC000000
(9) 00000000
(10) 7F800000