From: EGUCHI Osamu Date: 2014-06-23T09:34:26+09:00 Subject: [ruby-list:49841] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は? まともとさんとダブった上に間違えました。 ruby -ve 'p [3.14].pack("f").unpack("H*")' ruby 2.0.0p353 (2013-11-22 revision 43784) [amd64-freebsd9] ["c3f54840"] ですね。 2014年6月23日 9:29 EGUCHI Osamu : > えぐち@エスアンドイーです。 > > 2014年6月23日 9:18 junichirou tahara : >> jxtaharaと申します. >> 現在,float数をHEXで表記でできないので悩んでいます. >> >> C言語だと >> float num = 3.14 >> unsigned char *p=(unsigned char *)# >> sprintf(ps,"0x%02X%02X%02X%02X",p[3],p[2],p[1],p[0]); >> >> 結果 >> C3 F5 48 40 >> >> みたいにすればHEXで取れると思いますがRubyではどうすればいいのでしょうか? >> >> ss=sprintf("%A",num) >> p ss >> だと, >> "0X1.91EB851EB851FP+1" >> となります. > > こんな感じでどうでしょうか? > > % ruby -ve 'p [3.14].pack("f").unpack("h*")' > ruby 2.0.0p353 (2013-11-22 revision 43784) [amd64-freebsd9] > ["3c5f8404"] > >  えぐち