[ruby-list:49841] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
From:
EGUCHI Osamu <eguchi@...>
Date:
2014-06-23 00:34:26 UTC
List:
ruby-list #49841
まともとさんとダブった上に間違えました。
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 <eguchi@sandeinc.com>:
> えぐち@エスアンドイーです。
>
> 2014年6月23日 9:18 junichirou tahara <taharajunichirou@gmail.com>:
>> 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"]
>
> えぐち