gpt4 book ai didi

ruby - 十六进制字符串到 Ruby 中的 signed int 转换

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

如何在 ruby​​ 中将十六进制字符串转换为 32 位有符号整数?例如

a = "fb6d8cf1" #hex string
[a].pack('H*').unpack('l') #from the documentation it unpacks to its 32 bit signed int

它转换为

-242455045

但实际答案是

-76706575 

你能指出我做错了什么吗?

最佳答案

您似乎遇到了字节序问题。这给出了期望的结果:

[a].pack("H*").unpack("l>")
# => [-76706575]
["038a67f90"].pack("H*").unpack("l>")
#=> [59402233]

关于ruby - 十六进制字符串到 Ruby 中的 signed int 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963702/

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