[#49838] rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は? — junichirou tahara <taharajunichirou@...>
jxtaharaと申します.
14 messages
2014/06/23
[#49840] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
— EGUCHI Osamu <eguchi@...>
2014/06/23
えぐち@エスアンドイーです。
[#49842] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
— Nobuyoshi Nakada <nobu@...>
2014/06/23
(2014/06/23 9:29), EGUCHI Osamu wrote:
[#49843] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
— junichirou tahara <taharajunichirou@...>
2014/06/23
まつもと様,えぐち様
[#49844] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
— junichirou tahara <taharajunichirou@...>
2014/06/23
jxtaharaです.
[#49845] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
— junichirou tahara <taharajunichirou@...>
2014/06/23
jxtaharaです.
[#49852] encoding of backtrace — OHARA Shigeki <os@...>
大原といいます。
5 messages
2014/06/25
[ruby-list:49840] Re: rubyでfloat(32bit浮動小数点)の数値をHEX表示する手法は?
From:
EGUCHI Osamu <eguchi@...>
Date:
2014-06-23 00:29:48 UTC
List:
ruby-list #49840
えぐち@エスアンドイーです。
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"]
えぐち