当前位置:  开发笔记 > 编程语言 > 正文

Random.NextBytes有偏见吗?

如何解决《Random.NextBytes有偏见吗?》经验,为你挑选了0个好方法。

.NET参考源显示as 的实现NextBytes():

for (int i=0; i

InternalSample在[0,int.MaxValue)中提供了一个值,正如它的doc注释所证明的那样Next(),记录为返回此范围的事实,只需调用InternalSample.

我担心的是,由于InternalSample可以产生int.MaxValue不同的值,并且该数字不能被256整除,因此我们应该在结果字节中有一些轻微的偏差,其中一些值(在这种情况下只有255)的发生频率低于其他值.

我的问题是:

    这种分析是正确的还是方法实际上是无偏见的?

    如果存在偏差,它是否足够强大,对任何实际应用都很重要?

我所知道的Random,不应该用于加密目的; 我在想它是有效的用例(例如模拟).

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有