使用此网站http://gregstoll.dyndns.org/~gregstoll/floattohex/,0x40130020
的十六进制值是2.296883
的浮点值。如何实现Lua?如果我使用:
x = 0x40130020
print(x)
然后打印结果1074987040
当然......我该怎么办?感谢
答案 0 :(得分:4)
你可以在Lua 5.3中轻松完成:
x=0x40130020
s=string.pack("i4",x)
f=string.unpack("f",s)
print(f)
string.pack
和string.unpack
是Lua 5.3中的新内容。
在以前的版本中,您需要一个用C语言编写的外部库或潜入IEEE浮点表示的内部(这不是太难)。例如,请参阅this question。