gpt4 book ai didi

Ruby 将 64 位 IEEE 754 十六进制转换为 double

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:56 25 4
gpt4 key购买 nike

我需要将来自 IMU 的十六进制数据流输出为经纬度和高度值。

数据以 double 十六进制字符串形式出现,我需要将它们输出为十进制值。

我尝试了几个 pack 和 unpack 值,但最终除了编写我自己的函数之外找不到解决方案。

有没有办法翻译这个 double 64 位十六进制字符串:

"4044F33333333333"

转化为小数:

41.900000000000000

使用打包和解包功能?

是否有任何库能够处理 IEEE 754 编号?

最佳答案

["4044F33333333333"].pack('H16').unpack('G').first
=> 41.9

# broken down to steps, showing reversability
["4044F33333333333"].pack('H16')
=> "@D\xF333333"
"@D\xF333333".unpack('G')
=> [41.9]
[41.9].pack('G')
=> "@D\xF333333"
"@D\xF333333".unpack('H16')
=> ["4044f33333333333"]

关于Ruby 将 64 位 IEEE 754 十六进制转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15954709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com