It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
已关闭8年。
大家好,我是汇编语言的新手,我正在尝试创建一个简单的程序。为此,我需要生成一个随机数。
有人知道我可以使用FASM编译器来做到这一点吗?
谢谢,
山姆
已关闭8年。
大家好,我是汇编语言的新手,我正在尝试创建一个简单的程序。为此,我需要生成一个随机数。
有人知道我可以使用FASM编译器来做到这一点吗?
谢谢,
山姆
最佳答案
您可以使用线性同余算法。它是最常见的伪随机数算法。
基本上,您有一个种子值。然后,一旦开始生成随机数,每个数字便成为新请求的种子。
这些数字是由
x =(a * s + b)MOD米
其中为算法选择了m,a和b。这些值有一些流行的设置。如果将m的幂设为2,尤其是对于32位机器为2 ^ 32,则要容易得多。然后机器自动完成修改步骤。
查阅Wikipedia,他们拥有热门的a,b和M集以及更多信息。
种子也可以完成更复杂的事情(例如,根据当前时间设置种子)