所以关于Lua的一个非常酷的事情是,你可以使用浮点数而不是数字的双精度数. luaconf.h中的LUA_NUMBER.它对我来说非常好用!
但我总是想知道lua如何对待整数.在js和as3中我知道整数也只是“数字”.如果数字总是加上53个尾数位数,那么这种效果非常好,因为32位人们对整数的期望很好.现在,如果要使用23个尾数数字进行浮动,则不再按预期工作.代码通常将整数视为32位,用于按位运算或类似32位颜色的包装.
所以我的问题是,如果我用“#define LUA_NUMBER float”构建我的整数限制是23位吗?答案更复杂吗?如果是这样,为什么以及如何?我也从未使用过luajit,但其他lua实现如何处理呢?
我知道我可以阅读代码,但我认为这是一个有趣的问题.而且我很懒:)对于我的用例我可以假设23位.
最佳答案 是的,整数仅限于数字大小.因此,如果使用浮点数,则整数将获得24位(浮点表示中存在隐藏位).