在C ++中生成一个随机数在计算上有多昂贵?

乔希

我正在考虑的方法来自:https : //stackoverflow.com/a/19728404/6571958

#include <random>

std::random_device rd;     // only used once to initialise (seed) engine
std::mt19937 rng(rd());    // random-number engine used (Mersenne-Twister in this case)
std::uniform_int_distribution<int> uni(min,max); // guaranteed unbiased

auto random_integer = uni(rng);

我也愿意将这种rand()方法用于srand(time(NULL))

我的问题是:这些方法的价格是多少?一个比另一个快得多吗?

杰斯珀·朱尔

性能在很大程度上取决于您使用的生成器(而在很大程度上取决于所需数字的质量)。

例如,std::mt19937多少的速度比std::random_device,但产生的伪随机数。如果您不需要密码安全的随机数,那么对于大多数用途来说,这是很好的选择。但是即使您这样做,random_device也可以在我的计算机上以约50MB /秒的速度产生原始熵-您真正需要多少随机性?mt19937如果需要的话,产生的数量级要比数量级多)。

避免rand()它的性质很差,周期很短。

另请参阅https://channel9.msdn.com/Events/GoingNative/2013/rand-Considered-Harmful

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在c中生成20个随机数

来自分类Dev

我想创建一个C ++程序以将随机数生成到文件中

来自分类Dev

生成一个随机数,该随机数在C#中平均划分为另一个

来自分类Dev

在C ++ / C中生成多个不同的随机数?

来自分类Dev

如何在C两个冒号中生成随机数?

来自分类Dev

如何在 C++ 中生成 4 个不同的随机数

来自分类Dev

如何在C ++中生成具有均值的随机数?

来自分类Dev

如何在C#中生成统一随机数U(-1,1)?

来自分类Dev

每次在C ++中生成相同的随机数

来自分类Dev

在R-Pi上的C中生成随机数

来自分类Dev

如何在C ++中生成很大的随机数

来自分类Dev

如何在C ++中生成随机数?

来自分类Dev

C++ 在函数中生成随机数

来自分类Dev

如何在C中一次生成一个范围内的随机数?

来自分类Dev

C 编程:生成一个介于 -2,2 之间的随机数 (x) 然后更新 x

来自分类Dev

在 loop_C++ 中生成随机数并在循环中生成数组(openmp)

来自分类Dev

C-当程序在同一秒内执行时,如何确保C中生成不同的随机数?

来自分类Dev

在LibGDX中生成一个随机数

来自分类Dev

生成随机数C ++

来自分类Dev

生成随机数C ++

来自分类Dev

从C#中生成的搜索结果中选择一个随机链接

来自分类Dev

在 C++11 中生成一个随机字符串?

来自分类Dev

生成2个不同C#的随机数

来自分类Dev

如何使用C仅从列表中选择一个随机数

来自分类Dev

使用C ++ 11随机库在多线程中生成随机数是否就像在多线程中使用rand()一样慢?

来自分类Dev

使用C ++ 11随机库在多线程中生成随机数是否像在多线程中使用rand()一样慢?

来自分类Dev

在范围和特定步骤中生成C中的随机数

来自分类Dev

为加密目的在C中生成伪随机数的最简单方法是什么?

来自分类Dev

如何在C的循环中生成不同的随机数?

Related 相关文章

  1. 1

    在c中生成20个随机数

  2. 2

    我想创建一个C ++程序以将随机数生成到文件中

  3. 3

    生成一个随机数,该随机数在C#中平均划分为另一个

  4. 4

    在C ++ / C中生成多个不同的随机数?

  5. 5

    如何在C两个冒号中生成随机数?

  6. 6

    如何在 C++ 中生成 4 个不同的随机数

  7. 7

    如何在C ++中生成具有均值的随机数?

  8. 8

    如何在C#中生成统一随机数U(-1,1)?

  9. 9

    每次在C ++中生成相同的随机数

  10. 10

    在R-Pi上的C中生成随机数

  11. 11

    如何在C ++中生成很大的随机数

  12. 12

    如何在C ++中生成随机数?

  13. 13

    C++ 在函数中生成随机数

  14. 14

    如何在C中一次生成一个范围内的随机数?

  15. 15

    C 编程:生成一个介于 -2,2 之间的随机数 (x) 然后更新 x

  16. 16

    在 loop_C++ 中生成随机数并在循环中生成数组(openmp)

  17. 17

    C-当程序在同一秒内执行时,如何确保C中生成不同的随机数?

  18. 18

    在LibGDX中生成一个随机数

  19. 19

    生成随机数C ++

  20. 20

    生成随机数C ++

  21. 21

    从C#中生成的搜索结果中选择一个随机链接

  22. 22

    在 C++11 中生成一个随机字符串?

  23. 23

    生成2个不同C#的随机数

  24. 24

    如何使用C仅从列表中选择一个随机数

  25. 25

    使用C ++ 11随机库在多线程中生成随机数是否就像在多线程中使用rand()一样慢?

  26. 26

    使用C ++ 11随机库在多线程中生成随机数是否像在多线程中使用rand()一样慢?

  27. 27

    在范围和特定步骤中生成C中的随机数

  28. 28

    为加密目的在C中生成伪随机数的最简单方法是什么?

  29. 29

    如何在C的循环中生成不同的随机数?

热门标签

归档