I suspect the answer is '100', but I was hoping someone could give a little more insight at a basic level...

今天我翻阅了BCL的源代码,看看我以前使用过的一些类是如何实际实现的.我以前从未想过如何生成(伪)随机数,所以我决定看看它是如何实现的.

完整来源:http://referencesource.microsoft.com/#mscorlib/system/random.cs#29

private const int MSEED = 161803398; 

每次对Random()类进行种子设定时,都会使用此MSEED值.

不管怎么说,我看到了这个"神奇的数字"--161803398--我完全不知道为什么会 Select 这个数字.它既不是质数,也不是2的幂,也不是一个看起来更重要的数字的"一半".我用二进制和祸不单行来看它,嗯,对我来说它看起来就像一个数字.

我试着在谷歌上搜索这个号码,但什么也没找到.

推荐答案

不,但它是基于Phi("黄金比例").

161803398 = 1.61803398 * 10^8 ≈ φ * 10^8

More about the golden ratio here

And a really good read for the casual mathematician here

我找到了a research paper on random number generators个和这个说法一致的人.(见第53页.)

.net相关问答推荐

无法对.NET MAUI类库进行单元测试

Visual Studio 2022 中的目标操作系统和目标运行时有什么区别?

是否有内置方法将 nuget 包引用为 csproj 中的文件?

问:在 Blazor WASM 应用程序中存储 api 密钥的最佳方式是什么?

.NET 中的线程安全集合

如何从控制台应用程序中的 Task.WaitAll() 获取返回值?

如何中止任务,如中止线程(Thread.Abort 方法)?

将笔画应用于 WPF 中的文本块

泛型方法是如何、何时、何地具体化的?

.NET 中工作线程和 I/O 线程的简单描述

实体框架 - 无法将 lambda 表达式转换为类型字符串,因为它不是委托类型

是否可以更改 Winforms 组合框以禁用输入?

创建多个线程并等待所有线程完成

如何比较 C# 中的(目录)路径?

C#中的T是什么意思?

如何在 C# 中安全地将 System.Object 转换为bool?

如何对 LINQ to XML 中的元素进行深层复制?

静态方法继承的正确替代方法是什么?

C# (.NET) 设计缺陷

从 'System.Int32' 到 'System.Nullable`1[[System.Int32, mscorlib]] 的无效转换