Variables “替代方案”;而>;127减去128“;

Variables “替代方案”;而>;127减去128“;,variables,lua,Variables,Lua,我正在写一个算法,根据输入的数字生成4个介于0和127之间的值。看起来是这样的: value = {} input = number mod = input * 2 - 1 value[1] = input - 1 value[2] = input - 1 + mod value[3] = input - 1 + mod*2 value[4] = input - 1 + mod*3 for i = 1, 4 do value[i] = value[i] % 128 end 为了确保生成的数字

我正在写一个算法,根据输入的数字生成4个介于0和127之间的值。看起来是这样的:

value = {}
input = number
mod = input * 2 - 1
value[1] = input - 1
value[2] = input - 1 + mod
value[3] = input - 1 + mod*2
value[4] = input - 1 + mod*3
for i = 1, 4 do
value[i] = value[i] % 128
end
为了确保生成的数字保持在0和127之间(对于较大的数字),我准备了以下内容:

for i = 1, 4 do
while value[i] > 127 do
value[i] = value[i] - 128
end
end
这是按预期工作的,但随着生成的数字越来越大,这种方法变得非常缓慢。例如,如果输入数字为400000,则值[4]将变为279996。使用我的方法将其减少到127以下需要相当长的时间。有更好的方法吗?
任何和所有的建议将不胜感激

模运算解决了我的问题。我不知道这是一件事;我最好重修数学。 while循环在窗口外,新代码如下所示:

value = {}
input = number
mod = input * 2 - 1
value[1] = input - 1
value[2] = input - 1 + mod
value[3] = input - 1 + mod*2
value[4] = input - 1 + mod*3
for i = 1, 4 do
value[i] = value[i] % 128
end

就这么简单,谢谢萨米·库莫宁

为什么不直接使用模?我不知道模是什么,或者如何使用它。我来看看LUA手册。非常感谢。