Lua的Sqrt函数结果不准确。

我在数字 500000 上使用了 sqrt 函数。但是我得到的结果是 707.10681152344,这有点不准确,因为正确的数字应该是 707.106781187(与谷歌和任何其他计算器的结果相同)。为什么会这样?作为一个很新的 LUA 用户,我可能错过了什么。非常感谢。

点赞
用户827263
用户827263

你所看到的结果与32位浮点运算的结果一致。

通常情况下,Lua使用64位双精度浮点数(对应于C类型“double”),但根据这个链接

很容易编译Lua,让它使用其他类型的数字, 例如长整型或单精度浮点数。这对于没有硬件支持浮点数的平台尤其有用。请参见 分发的详细说明。

很明显,这只是你正在使用的Lua实现的配置方式。

2014-07-25 22:06:23