问题标签 [srand]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
105085 浏览

c++ - 初始化 srand 的推荐方法?

我需要一种“好”的方法来初始化 C++ 中的伪随机数生成器。我发现一篇文章说:

为了生成类似随机的数字,srand 通常被初始化为一些独特的值,比如那些与执行时间相关的值。例如,函数 time(在头文件 ctime 中声明)返回的值每秒都不同,这足以满足大多数随机需求。

Unixtime 对我的应用程序来说不够独特。初始化它的更好方法是什么?如果它是可移植的,则加分,但代码将主要在 Linux 主机上运行。

我正在考虑做一些 pid/unixtime 数学来获得一个 int,或者可能从/dev/urandom.

谢谢!

编辑

是的,我实际上每秒多次启动我的应用程序并且我遇到了冲突。

0 投票
3 回答
3259 浏览

c++ - 在 C++ 中重复调用 srand() 会使用相同的种子吗?

如果我在驱动程序文件的主文件中声明了 srand(2),是否需要在与驱动程序链接的代码文件中声明 srand(2)?

谢谢。

编辑

(来自以下用户的评论)

如果我做,

我会得到2号种子吗?或者是其他东西?

0 投票
3 回答
12951 浏览

c# - srand((无符号)(时间(NULL))); (rand())/(RAND_MAX/2) - 1 个 C# 等效项

以下 c++ 的 c# 等价物是什么:

0 投票
4 回答
2363 浏览

c++ - 多次播种伪随机数生成器的问题?

我已经看到很多建议不要在每次执行时多次播种伪随机数生成器,但从未附有详尽的解释。当然,很容易看出为什么以下 (C/C++) 示例不是一个好主意:

get_rand因为每秒调用几次会产生重复的结果。

但是下面的例子难道不是一个可以接受的解决方案吗?

MyRand.h

我的兰德.cpp

主文件

即,即使MyRand:s 构造函数被快速连续调用多次,每次调用srand都有不同的参数。显然,这不是线程安全的,但同样也不是rand.

0 投票
4 回答
872 浏览

c - 谁能看到这有什么问题(C中与时间相关的函数)

0 投票
4 回答
4751 浏览

c++ - 找出随机数生成器在 C++ 中的种子

我有一个非托管 C++ 控制台应用程序,我在其中使用 srand() 和 rand()。我不需要它来解决特定问题,但很好奇:传递给 srand() 的原始种子是否存储在我可以查询的内存中某处?有什么办法可以知道种子是什么?

0 投票
1 回答
1629 浏览

c++ - 正确使用 s/rand 或 Boost::random

我知道这种问题已经被问过几次了,但其中很多答案都归结为 RTFM,但我希望如果我能提出正确的问题......我可以为其他人得到一个准明确的答案好吧,关于实施。

我正在尝试通过以下两种方式之一生成随机数序列:

myRand() 在哪里:

每次我运行选项 1 时,每次执行每个循环都会得到相同的数字。但在每次运行程序时都不同。

当我运行选项 2 时,我从 boost 库中得到 82,因此返回 0.81999999999999。我可以理解它是否是 42,但即使在阅读了 boost random 文档之后,82 也让我摸不着头脑。

有任何想法吗?

DJ。

0 投票
4 回答
149 浏览

algorithm - 是否有可能基于有限的伪随机数序列获得种子的近似值?

假设我有一些形成系列的数字,例如:652,328,1,254,我想得到一个种子,例如,如果我这样做

当所有数字都以相同的顺序出现时,我会得到某种对我的原始序列有界误差的近似值。

0 投票
2 回答
517 浏览

perl - 如何在 Perl 中存储伪随机生成器的状态?

有没有办法在 Perl 中存储内置伪随机数生成器的当前状态,以便当我的程序再次运行时,它可以从停止的地方获取序列,而不是从新序列开始?

现在,我正在存储我所在的位置以及初始种子,然后丢弃我已经使用类似于以下内容的初始段:

例如:

之后:

然后$z[0] == $v[2],,$z[1] == $v[3]等等。

0 投票
4 回答
3757 浏览

c - C中的srand函数

我正在尝试在无法包含math.h文件的嵌入式 C 中编写随机数生成函数。这就是为什么我无法使用种子srand功能。

除了时间,还有其他方法可以播种吗?