问题标签 [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.
c++ - 初始化 srand 的推荐方法?
我需要一种“好”的方法来初始化 C++ 中的伪随机数生成器。我发现一篇文章说:
为了生成类似随机的数字,srand 通常被初始化为一些独特的值,比如那些与执行时间相关的值。例如,函数 time(在头文件 ctime 中声明)返回的值每秒都不同,这足以满足大多数随机需求。
Unixtime 对我的应用程序来说不够独特。初始化它的更好方法是什么?如果它是可移植的,则加分,但代码将主要在 Linux 主机上运行。
我正在考虑做一些 pid/unixtime 数学来获得一个 int,或者可能从/dev/urandom
.
谢谢!
编辑
是的,我实际上每秒多次启动我的应用程序并且我遇到了冲突。
c++ - 在 C++ 中重复调用 srand() 会使用相同的种子吗?
如果我在驱动程序文件的主文件中声明了 srand(2),是否需要在与驱动程序链接的代码文件中声明 srand(2)?
谢谢。
编辑
(来自以下用户的评论)
如果我做,
我会得到2号种子吗?或者是其他东西?
c# - srand((无符号)(时间(NULL))); (rand())/(RAND_MAX/2) - 1 个 C# 等效项
以下 c++ 的 c# 等价物是什么:
c++ - 多次播种伪随机数生成器的问题?
我已经看到很多建议不要在每次执行时多次播种伪随机数生成器,但从未附有详尽的解释。当然,很容易看出为什么以下 (C/C++) 示例不是一个好主意:
get_rand
因为每秒调用几次会产生重复的结果。
但是下面的例子难道不是一个可以接受的解决方案吗?
MyRand.h
我的兰德.cpp
主文件
即,即使MyRand
:s 构造函数被快速连续调用多次,每次调用srand
都有不同的参数。显然,这不是线程安全的,但同样也不是rand
.
c++ - 找出随机数生成器在 C++ 中的种子
我有一个非托管 C++ 控制台应用程序,我在其中使用 srand() 和 rand()。我不需要它来解决特定问题,但很好奇:传递给 srand() 的原始种子是否存储在我可以查询的内存中某处?有什么办法可以知道种子是什么?
c++ - 正确使用 s/rand 或 Boost::random
我知道这种问题已经被问过几次了,但其中很多答案都归结为 RTFM,但我希望如果我能提出正确的问题......我可以为其他人得到一个准明确的答案好吧,关于实施。
我正在尝试通过以下两种方式之一生成随机数序列:
myRand() 在哪里:
每次我运行选项 1 时,每次执行每个循环都会得到相同的数字。但在每次运行程序时都不同。
当我运行选项 2 时,我从 boost 库中得到 82,因此返回 0.81999999999999。我可以理解它是否是 42,但即使在阅读了 boost random 文档之后,82 也让我摸不着头脑。
有任何想法吗?
DJ。
algorithm - 是否有可能基于有限的伪随机数序列获得种子的近似值?
假设我有一些形成系列的数字,例如:652,328,1,254,我想得到一个种子,例如,如果我这样做
当所有数字都以相同的顺序出现时,我会得到某种对我的原始序列有界误差的近似值。
perl - 如何在 Perl 中存储伪随机生成器的状态?
有没有办法在 Perl 中存储内置伪随机数生成器的当前状态,以便当我的程序再次运行时,它可以从停止的地方获取序列,而不是从新序列开始?
现在,我正在存储我所在的位置以及初始种子,然后丢弃我已经使用类似于以下内容的初始段:
例如:
之后:
然后$z[0] == $v[2]
,,$z[1] == $v[3]
等等。
c - C中的srand函数
我正在尝试在无法包含math.h
文件的嵌入式 C 中编写随机数生成函数。这就是为什么我无法使用种子srand
功能。
除了时间,还有其他方法可以播种吗?