温馨提示×

C++中随机浮点数的可重复性如何实现

c++
小樊
83
2024-08-11 11:21:36
栏目: 编程语言

要实现C++中随机浮点数的可重复性,可以使用随机数生成器的种子来控制生成的随机数序列。通过设置相同的种子,可以确保每次运行程序时生成的随机数序列都是相同的。

在C++中,可以使用std::mt19937std::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;
}

通过设置相同的种子,每次运行上面的程序时生成的随机浮点数序列都是相同的。

0