阅读量:0
要实现C++中随机浮点数的可重复性,可以使用随机数生成器的种子来控制生成的随机数序列。通过设置相同的种子,可以确保每次运行程序时生成的随机数序列都是相同的。
在C++中,可以使用std::mt19937
或std::default_random_engine
等随机数生成器来生成随机数。可以通过std::seed_seq
类来设置种子,然后将种子传递给随机数生成器。例如:
#include <iostream> #include <random> int main() { // 设置种子 std::seed_seq seed{42}; // 创建随机数生成器并设置种子 std::mt19937 gen(seed); // 生成随机浮点数 std::uniform_real_distribution<float> dist(0.0f, 1.0f); for (int i = 0; i < 10; i++) { float random_num = dist(gen); std::cout << random_num << std::endl; } return 0; }
通过设置相同的种子,每次运行上面的程序时生成的随机浮点数序列都是相同的。