えぐち@エスアンドイーです

2010年3月16日14:03 NARUSE, Yui <naruse / airemix.jp>:
> %a 絡みの処理を書いていて、バイナリとしてはすぐそこにあるはずのものが、
> Ruby レイヤだとかなり手間をかけないと取れない理不尽さ、かな。
> わたしが知らないだけなのかもしれませんが、現状指数部・仮数部を取るのって、
> 結構大変ですよね。

packテンプレート文字列 - Rubyリファレンスマニュアル
http://www.ruby-lang.org/ja/man/html/pack_A5C6A5F3A5D7A5ECA1BCA5C8CAB8BBFACEF3.html
ーーー
IEEE754準拠な環境の場合、以下のようにして符号、指数部、仮数部を取り出せます。
s = [v].pack("g").unpack("B*")[0][0,1]      # 符号
e = [v].pack("g").unpack("B*")[0][1,8]      # 指数部
f = [v].pack("g").unpack("B*")[0][9,23]     # 仮数部
ーーー

と言う方法があるものの、組み込みメソッドにあっても悪くないと思います。

  えぐち