如何使用C++庫(kù)生成隨機(jī)浮點(diǎn)數(shù)

c++
小樊
101
2024-08-11 11:13:36

在C++中,可以使用標(biāo)準(zhǔn)庫(kù)中的隨機(jī)數(shù)生成器來(lái)生成隨機(jī)浮點(diǎn)數(shù)。以下是一種常見(jiàn)的方法:

#include <iostream>
#include <random>

int main() {
    // 創(chuàng)建一個(gè)隨機(jī)數(shù)生成器對(duì)象
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<float> dis(0.0, 1.0);

    // 生成一個(gè)隨機(jī)浮點(diǎn)數(shù)
    float random_float = dis(gen);

    // 輸出隨機(jī)浮點(diǎn)數(shù)
    std::cout << "Random float number: " << random_float << std::endl;

    return 0;
}

在上面的示例中,首先創(chuàng)建了一個(gè) std::random_device 對(duì)象用于生成種子,然后創(chuàng)建了一個(gè) std::mt19937 隨機(jī)數(shù)引擎對(duì)象和一個(gè) std::uniform_real_distribution 分布對(duì)象來(lái)生成范圍在0.0到1.0之間的隨機(jī)浮點(diǎn)數(shù)。最后使用 dis(gen) 來(lái)生成隨機(jī)浮點(diǎn)數(shù),并輸出到控制臺(tái)。

通過(guò)調(diào)整 std::uniform_real_distribution 的參數(shù)可以生成不同范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)。

0