C# 随机数生成-MT和SMFT的结果不同

C# 随机数生成-MT和SMFT的结果不同,c#,random,C#,Random,这里是我的问题:我有从MT19937(32位字)生成的随机数,以及由SMFT(面向SIMD的快速Mersenne Twister)提供的具有相同周期和32位字长配置的随机数。 此外,我已生成具有相同种子(=0)的值。结果却不同! 谁能解释一下,这怎么可能 提前感谢。来自: 在大多数平台上,SFMT比MT快得多。在v位精度下,不仅提高了速度,而且提高了等分布的维数 如果有任何改进,即使是同一个种子,也会有不同的结果。我认为这是一种为现代CPU优化的稍有不同的算法,它与MT19937具有相同的基本原

这里是我的问题:我有从MT19937(32位字)生成的随机数,以及由SMFT(面向SIMD的快速Mersenne Twister)提供的具有相同周期和32位字长配置的随机数。 此外,我已生成具有相同种子(=0)的值。结果却不同! 谁能解释一下,这怎么可能

提前感谢。

来自:

在大多数平台上,SFMT比MT快得多。在v位精度下,不仅提高了速度,而且提高了等分布的维数


如果有任何改进,即使是同一个种子,也会有不同的结果。我认为这是一种为现代CPU优化的稍有不同的算法,它与MT19937具有相同的基本原理。

据我所知,
SFMT
具有更好的等分布特性和更快的从
0
s恢复。因此,它的实现不同于
MT

右侧。我不知道确切的区别,但是
SFMT
内部生成128位整数-可能映射到32位数字。谢谢你们。你是对的。此外,递归函数本身在两个版本之间有很大不同,因此它将提供不同的结果。谢谢