📜  c++ 随机数 0 到 1 - C++ (1)

📅  最后修改于: 2023-12-03 15:14:01.784000             🧑  作者: Mango

C++ 随机数 0 到 1

介绍

在 C++ 中,可以使用库函数 rand() 来生成随机数,但是它生成的随机数是在 [0, RAND_MAX] 之间的整数,需要将它转换为浮点数并将范围映射到 [0, 1] 才能得到随机数 0 到 1。

代码实现

下面是一个简单的例子,使用 rand() 函数生成随机数,并将其转换为浮点数并缩放到 [0, 1]。

#include <iostream>
#include <cstdlib>
#include <ctime>

int main()
{
    // 使用当前时间作为种子
    srand((unsigned) time(nullptr));

    // 生成随机数并转换为浮点数
    double random_num = static_cast<double>(rand()) / RAND_MAX;

    std::cout << "Random number between 0 and 1: " << random_num << std::endl;

    return 0;
}

在上述代码中,我们使用当前时间作为随机数生成器的种子,以确保每次运行程序时生成不同的随机数。

请注意,使用 RAND_MAX 这个预定义常量,可以保证在使用 rand() 函数生成随机数时不会超出其范围。

总结

在 C++ 中,通过使用 rand() 函数和 srand() 函数可以生成随机数。要生成随机数 0 到 1,需要将生成的随机整数转换为浮点数,并将范围映射到 [0, 1]。