Tag: 随机

是161803398“特殊”号码? Math.Random()内部

我怀疑答案是“ 因为math ”,但我希望有人能够在基本层面上多一点洞察力。 我今天在BCL源代码中探索一下,看看我之前使用过的一些类是如何实现的。 我从来没有想过如何生成(伪)随机数,所以我决定看看它是如何完成的。 完整源代码在这里: http : //referencesource.microsoft.com/#mscorlib/system/random.cs#29 private const int MSEED = 161803398; 每次使用Random()类时,都会使用此MSEED值。 无论如何,我看到这个“神奇的数字” – 161803398 – 我不知道为什么这个数字被选中。 这不是一个素数或二的权力。这不是一个数字的“一半”,似乎更重要。 我用二进制和hex来查看它,它对我来说只是一个数字。 我试图在Googlesearch这个号码,但是我什么也没find。

在一个范围内使用C#生成一个随机数

我如何去产生一个范围内的随机数字?

生成随机密码

当我们网站上的用户丢失密码并前往丢失密码页面时,我们需要给他一个新的临时密码。 我真的不介意这是多么随意,或者如果它匹配所有“需要”强密码规则,我想要做的就是给他们一个密码,他们可以稍后改变。 该应用程序是用C#编写的Web应用程序。 所以我正在考虑是否意味着要使用Guid的一部分的简单路线。 即 Guid.NewGuid().ToString("d").Substring(1,8) Suggesstions? 想法?

java.util.Random和java.security.SecureRandom之间的区别

我的团队已经交出了一些生成随机令牌的服务器端代码(使用Java),我也有同样的问题 – 这些令牌的目的是相当敏感的 – 用于会话ID,密码重置链接等。所以他们确实需要encryption随机,以避免有人猜测他们或蛮横迫使他们切实可行。 令牌是一个“长”,所以它是64位长。 该代码当前使用java.util.Random类来生成这些令牌。 java.util.Random的文档([ http://docs.oracle.com/javase/7/docs/api/java/util/Random.html][1] )明确指出: java.util.Random的实例不具有密码安全性。 请考虑使用SecureRandom来获取密码安全的伪随机数字生成器,供安全性敏感的应用程序使用。 然而,代码当前使用java.util.Random是这样的 – 它实例化java.security.SecureRandom类,然后使用SecureRandom.nextLong()方法获取用于实例化java.util.Random的种子java.util.Randomclass。 然后它使用java.util.Random.nextLong()方法来生成令牌。 所以我现在的问题 – 它仍然是不安全的,因为java.util.Random使用java.security.SecureRandom播种? 我是否需要修改代码,使其仅使用java.security.SecureRandom来生成令牌? 目前代码种子在启动时是Random

这是一个“足够好”的随机algorithm; 为什么不使用,如果它更快?

我做了一个叫做QuickRandom的类,它的工作就是快速生成随机数。 这非常简单:只取旧的值,乘以一个double ,取小数部分。 这是我的QuickRandom类的完整: public class QuickRandom { private double prevNum; private double magicNumber; public QuickRandom(double seed1, double seed2) { if (seed1 >= 1 || seed1 < 0) throw new IllegalArgumentException("Seed 1 must be >= 0 and < 1, not " + seed1); prevNum = seed1; if (seed2 <= 1 || seed2 > 10) throw […]

如何获得一个浮动范围之间的随机数字?

randrange(start, stop)只接受整数参数。 那么如何获得两个浮点值之间的随机数呢?

C ++随机浮点数生成

如何在C ++中生成随机的花车? 我想我可以把整数兰德分成几个等级,这足够吗?

如何在Unix命令行或shell脚本中打乱文本文件的行?

我想随机随机洗牌的行,并创build一个新的文件。 该文件可能有几千行。 我怎么能用猫,awk,cut等来做到这一点?

获取一个专注于中心的随机数字

是否有可能得到一个1-100之间的随机数,并保持结果主要在40-60范围内? 我的意思是,它会很less出现这个范围,但我希望它主要在这个范围内… JavaScript / jQuery可以吗? 现在我只是使用基本的Math.random() * 100 + 1 。

为什么rand()+ rand()产生负数?

我观察到rand()库函数在循环中只被调用一次,它几乎总是产生正数。 for (i = 0; i < 100; i++) { printf("%d\n", rand()); } 但是当我添加两个rand()调用时,生成的数字现在有更多的负数。 for (i = 0; i < 100; i++) { printf("%d = %d\n", rand(), (rand() + rand())); } 有人能解释为什么我在第二种情况下看到负数? PS:我在循环之前初始化种子srand(time(NULL)) 。