在C++中,可以使用std::uniform_real_distribution
类来产生随机浮点数。以下是一个简单的示例代码:
#include <iostream>
#include <random>
int main() {
std::random_device rd; // 获取随机设备
std::mt19937 gen(rd()); // 使用Mersenne Twister算法生成随机数引擎
std::uniform_real_distribution<double> dis(0.0, 1.0); // 产生范围在[0.0, 1.0]之间的随机浮点数
for (int i = 0; i < 5; ++i) {
double random_num = dis(gen); // 生成随机浮点数
std::cout << random_num << std::endl;
}
return 0;
}
在上面的代码中,首先使用std::random_device
来获取一个随机设备,然后使用std::mt19937
生成随机数引擎。接着使用std::uniform_real_distribution
来定义一个范围在[0.0, 1.0]
之间的随机浮点数分布。最后在循环中使用dis(gen)
来生成随机浮点数。运行上面的代码输出如下:
0.0799193
0.730919
0.205962
0.674445
0.666716