在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