最佳答案
我怀疑答案是“ 因为数学”,但我希望有人能在基本水平上给出更多的见解... ..。
今天我浏览了 BCL 源代码,看看我之前使用的一些类是如何实现的。我以前从来没有想过如何生成(伪)随机数,所以我决定看看它是如何做到的。
完整来源: http://referencesource.microsoft.com/#mscorlib/system/random.cs#29
private const int MSEED = 161803398;
此 MSEED 值在每次为 Random ()类接种时使用。
不管怎样,我看到了这个“神奇的数字”——161803398——而且我一点也不知道为什么这个数字会被选中。它不是质数,也不是2的幂。这不是一个似乎更有意义的数字的“一半”。我用二进制和十六进制的方式看,它看起来就像一个数字。
我试着在谷歌上搜索这个号码,但是一无所获。