21xrx.com
2024-12-22 22:14:40 Sunday
登录
文章检索 我的文章 写文章
C++随机生成浮点数
2023-06-24 12:19:38 深夜i     --     --
C++ 随机生成 浮点数

C++是一种强大的编程语言,它有大量的库和功能,可以处理各种类型的数据。其中之一就是生成随机数。在本文中,我们将学习如何使用C++生成随机浮点数。

在C++中,我们可以使用标准库中的函数来生成随机数。这些函数包括rand()和srand(),它们可以用于生成随机整数。但是,要生成随机浮点数,我们需要使用一些不同的函数。

在C++11中,我们有一个称为std::uniform_real_distribution的类,它用于生成在给定范围内的均匀分布的浮点数。首先,我们需要引入头文件


#include <random>

然后,我们需要声明一个std::mt19937引擎,它用于生成随机数。例如,我们可以使用以下代码声明一个引擎:


std::mt19937 engine(time(0)); // 使用当前时间作为随机数的种子

现在,我们需要使用std::uniform_real_distribution类来生成随机浮点数。以下是一个例子,生成一个在0和1之间的随机浮点数:


std::uniform_real_distribution<double> dist(0.0, 1.0); // 均匀分布的随机数生成器

double number = dist(engine); // 生成一个随机浮点数

我们可以用任何我们喜欢的范围替换0.0和1.0,以生成在该范围内的随机浮点数。如果我们想生成更多的随机浮点数,我们可以将上面的代码放入一个循环中,如下所示:


for (int i = 0; i < 10; i++) {

 double number = dist(engine);

 std::cout << number << std::endl;

}

上面的代码将生成10个随机浮点数并将它们打印到屏幕上。

总的来说,C++11中的std::uniform_real_distribution类使生成随机浮点数非常简单。只需要几行代码即可生成任何我们想要的范围内的随机浮点数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复