ruby中如何将binary32转换为float

2024-06-19

我有一个以 IEEE 32 编码的 binary32。

如何将 0x0040EDC2 转换为 -118,625 ?

我尝试了几种打包和解包选项,但没有成功。

IEEE : http://en.wikipedia.org/wiki/Single- precision_floating-point_format http://en.wikipedia.org/wiki/Single-precision_floating-point_format

Manu


$ irb
irb(main):001:0> bin = "\x00\x40\xED\xC2"
=> "\000@\355\302"
irb(main):002:0> bin.unpack 'f'
=> [-118.625]
irb(main):003:0> bin.unpack 'e'
=> [-118.625]
irb(main):004:0> bin.unpack 'F'
=> [-118.625]
irb(main):005:0> i = 0x0040edc2
=> 4255170
irb(main):006:0> bin = [i].pack('L')
=> "\xC2\xED@\x00"
irb(main):007:0> bin.unpack 'g'
=> [-118.625]
irb(main):008:0> RUBY_PLATFORM
=> "x86_64-linux"
irb(main):009:0> RUBY_VERSION
=> "1.9.2"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ruby中如何将binary32转换为float 的相关文章

随机推荐