小数部を特定の位置で固定して表現する固定小数点数があります。
整数部と小数部のビット数が限られるので、表現できる限度があります。
小数点数を「符号」、「指数部」、「仮数部」の3つで表します。
符号部 | 数値が正か負かを表す |
---|---|
指数部 | 基数のべき乗を2進数で表し、負のべき乗は2の補数を使う |
仮数部 | 小数点以下の数値を表し、正規化しておく |
10進数0.375を浮動小数点形式で正規化しなさい。ただし結果は32ビットで16進数表記とする。
① 0.375を2進数表現すると0.011となる。これは、0.011×20とも表現できる。
② この値を、0.11×2-1とする。(正規化する) ※正規化しないと誤差が出る。
③ ここで、浮動小数点の形式を「符号1ビット、指数7ビット、仮数24ビット」と仮定する。(32ビットになるように)
符号:正の数なので「0」
指数:2-1で、指数は-1。負なので2の補数「1111111」
仮数:0.11の「0.」を取り除き、下位ビットに0を埋めて
「110000000000000000000000」
④ これを並べると
「0 1111111 110000000000000000000000」となり、
16進数表現に変換すると、答えが「7FC00000」となる。