2010-10-28 146 views
2

如果我在不同的编程语言中使用随机数生成器函数,并且我选择了相同的种子,他们是否必须给我相同的随机数?不同编程语言的随机数

例如我用Java和Perl ......给出了不同的数字。

+0

哪两种语言? – SLaks 2010-10-28 17:34:44

+0

和哪个功能? – 2010-10-28 17:38:20

回答

3

不,除非两种语言碰巧使用相同的算法。

+0

我认为甚至不同的相同语言的实现可能会产生不同的结果。 – 2010-10-28 17:35:34

+0

@ S.C .:取决于语言及其规格。 – SLaks 2010-10-28 17:35:58

+1

..或相同的操作系统API调用。 – 2010-10-28 17:36:33

5

跨语言的可移植性是使用您自己的随机数生成器的原因之一。 This article给出了一个非常小的随机数生成器,其算法已经由专家审查。您可以轻松地将生成器移植到支持32位无符号整数基本操作的任何语言。每个实现应该返回给定相同种子的相同输出序列。