Lua中的数学随机函数如何与指数一起使用?

我正在尝试在 Lua 中获得一个随机的 16 位数字。逻辑上,我所写的代码应该可以实现,但是它并没有得到我想要的结果。请问,math.random 如何处理指数运算?

这是我不断得到的结果:

 > return math.random(10^15, 10^16)
 > -1637272360
点赞
用户1190388
用户1190388

如果您想要一个 16 位数字,请尝试以下方式生成:

local fmt = "%d%07d%08d"
local random = math.random
local num = fmt:format(random(1, 9), random(0, 10^7), random(0, 10^8))

然后将变量 num 保留为字符串类型。作为数字,它将值转换为指数形式(由于非常大;在您的情况下 > 10^14 )或者,您可以将它们存储为十六进制字符串?

2012-07-07 04:25:46