Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Floating point 将Lua配置为浮点对整数有什么作用?_Floating Point_Lua - Fatal编程技术网

Floating point 将Lua配置为浮点对整数有什么作用?

Floating point 将Lua配置为浮点对整数有什么作用?,floating-point,lua,Floating Point,Lua,所以Lua的一个很酷的地方是,你可以让它使用浮点数而不是数字的双精度。LUA_数在luaconf.h。它对我很有效 但我一直想知道lua是如何处理整数的。在js和as3中,我知道整数仍然只是“数字”。如果数字总是有53个尾数的双精度数字,这一点非常有效,因为人们期望的32位整数被很好地覆盖了。现在,如果一个人用23个尾数数字浮动,这就不再像预期的那样有效了。代码通常将整数视为32位,用于按位运算或压缩的32位颜色 所以我的问题是,如果我用“#define LUA_NUMBER float”构建,

所以Lua的一个很酷的地方是,你可以让它使用浮点数而不是数字的双精度。LUA_数在luaconf.h。它对我很有效

但我一直想知道lua是如何处理整数的。在js和as3中,我知道整数仍然只是“数字”。如果数字总是有53个尾数的双精度数字,这一点非常有效,因为人们期望的32位整数被很好地覆盖了。现在,如果一个人用23个尾数数字浮动,这就不再像预期的那样有效了。代码通常将整数视为32位,用于按位运算或压缩的32位颜色

所以我的问题是,如果我用“#define LUA_NUMBER float”构建,我的整数限制是23位吗?答案更复杂吗?如果是,为什么和如何?我也从未使用过luajit,但是其他lua实现如何处理这个问题呢


我知道我可以阅读代码,但我认为这是一个有趣的问题。我很懒:)对于我的用例,我可以假设23位。

是的,整数限制在数字的大小。因此,如果使用浮点,整数将得到24位(浮点表示法中有一个隐藏位)。

为什么不加注释就投反对票?我假设是这样。在最初的一些版本中,Lua使用浮点数而不是双精度来表示数字。