gpt4 book ai didi

ruby - 如何将 64 位二进制字符串转换为 ruby​​ 中的双 float ?

转载 作者:数据小太阳 更新时间:2023-10-29 07:58:18 26 4
gpt4 key购买 nike

我想知道如何在 ruby​​ 中将 64 位二进制字符串转换为双 float 。我的字符串如下:

binaryString = "0011111111110000000000000000000000000000000000000000000000000000"

使用在线转换器(http://www.binaryconvert.com/convert_double.html?)我知道该值应该是 1.0。但是,我正在尝试使用 ruby​​ 解包转换为 double,但没有得到正确的结果。

double_value = binaryString.unpack("G")

给我 double_value = 1.3983819593719592e-76

我已经尝试过其他指令,如“F”和“D”,但没有一个产生正确的结果。

知道我做错了什么吗?感谢您的帮助!

最佳答案

unpack 需要二进制数据,因此您必须先使用 B pack 位串:

b = '0011111111110000000000000000000000000000000000000000000000000000'

[b].pack('B*').unpack1('G')
#=> 1.0

关于ruby - 如何将 64 位二进制字符串转换为 ruby​​ 中的双 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50973353/

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