Lua - 十六进制浮动
Lua - Hex to float
0x40130020
的十六进制值是 2.296883
的浮点值,使用此站点 http://gregstoll.dyndns.org/~gregstoll/floattohex/。如何实现 Lua?如果我使用:
x = 0x40130020
print(x)
然后结果1074987040
当然打印出来了……我该怎么办?谢谢
您可以在 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 浮点表示的内部结构(这并不难)。例如参见 [=13=].
0x40130020
的十六进制值是 2.296883
的浮点值,使用此站点 http://gregstoll.dyndns.org/~gregstoll/floattohex/。如何实现 Lua?如果我使用:
x = 0x40130020
print(x)
然后结果1074987040
当然打印出来了……我该怎么办?谢谢
您可以在 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 浮点表示的内部结构(这并不难)。例如参见 [=13=].