如何在c中生成非常大的随机数

新手上路,请多包涵

我想使用 c++ 在 0 - 2^64 范围内生成非常大的随机数。我使用了 rand() 函数,但它没有生成非常大的数字。任何人都可以帮忙吗?

原文由 Nabeel_Afzal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 241
1 个回答

使用 c++11,使用 c++11 的标准 随机库,您可以这样做:

 #include <iostream>
#include <random>

int main()
{
  /* Seed */
  std::random_device rd;

  /* Random number generator */
  std::default_random_engine generator(rd());

  /* Distribution on which to apply the generator */
  std::uniform_int_distribution<long long unsigned> distribution(0,0xFFFFFFFFFFFFFFFF);

  for (int i = 0; i < 10; i++) {
      std::cout << distribution(generator) << std::endl;
  }

  return 0;
}

现场演示

原文由 coyotte508 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏