21xrx.com
2024-12-23 00:30:18 Monday
登录
文章检索 我的文章 写文章
C++11中如何生成随机数
2023-07-01 16:10:54 深夜i     --     --
C++11 生成随机数 uniform_int_distribution mt19937

在计算机程序设计中,生成随机数是一项非常常见和重要的任务。在C++11中,提供了一种非常简单和便捷的方法来生成随机数。我们可以使用C++11中的随机数生成器库来实现这一功能。

C++11中的随机数生成器库包括两个基本的组件:引擎(engine)和分布(distribution)。引擎是用来产生随机数序列的底层实现,而分布则是将引擎产生的随机数映射到一个特定的分布上。

在C++11中,我们可以使用随机数引擎和随机数分布来生成不同类型的随机数,例如整数、浮点数等。以下是一些示例代码:

//生成0到1之间的随机小数

#include

#include

int main()

{

  std::default_random_engine generator;  //默认随机数引擎

  std::uniform_real_distribution distribution(0.0,1.0); //均匀分布

  double random_number = distribution(generator);

  std::cout << "Random number: " << random_number << std::endl;

  return 0;

}

//生成1到6之间的随机整数

#include

#include

int main()

{

  std::default_random_engine generator;  //默认随机数引擎

  std::uniform_int_distribution distribution(1,6); //均匀分布

  int random_number = distribution(generator);

  std::cout << "Random number: " << random_number << std::endl;

  return 0;

}

在上述代码中,我们首先创建了一个默认的随机数引擎和一个特定的分布。然后,使用引擎和分布来生成随机数。

此外,我们还可以使用其他的随机数引擎和随机数分布,例如minstd_rand、mt19937、normal_distribution等等。根据具体的需求,我们可以选择合适的引擎和分布来生成特定类型的随机数。

总的来说,在C++11中,生成随机数非常简单和便捷。我们只需要选择合适的引擎和分布,并使用它们来生成随机数就可以了。这使得C++11成为了一个非常有用的工具,让我们能够轻松地在程序中使用随机数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章