浮動小数点のビットフォーマット
http://java-house.jp/ml/archive/j-h-b/010635.html
上位ビットから順に 単精度 倍精度 符号(S): 1 1 指数部(E): 8 11 仮数部(M): 23 52 (bit) で、 (-1) ^ S * (1 + M) * 2 ^ E
指数部は符号付きなのかな。
符号ついてないと1以下が表現できないわけで多分符号付だろう。
0x3f800000 == 1.0?
コメントでナイス指摘があったので調べました。
http://www.jtw.zaq.ne.jp/kayakaya/new/kihon/text/fudo.htm
指数部で,127を加えて表現するIEEE形式もある。 (−1)S×1.M×2(E−127) S:符号部 → 正は0,負は1 E:指数部 → 127を加える M:仮数部 → 1.Mになるように正規化
最初の奴と全然違うじゃん!
ていうか、符号付き整数じゃなくて-127の単純なバイアスなんですね。
((0x3f80000 >> 23) & 0xff) = 0x7f = 127 - 127 = 0ですか。
これなら納得。