21xrx.com
2024-12-22 21:47:11 Sunday
登录
文章检索 我的文章 写文章
C++生成0-1随机数的方法
2023-07-12 03:39:53 深夜i     --     --
C++ 生成 0-1 随机数 方法

在C++中,生成0-1随机数的方法有很多种。下面介绍其中的三种常用方法:

1.使用rand()函数生成随机数

rand()函数是C++中用于生成伪随机数的函数。要使用该函数,需要包含头文件 。rand()函数生成的随机数范围为0到RAND_MAX,其中RAND_MAX是一个宏定义,表示可生成的最大值。为了生成0-1之间的随机数,可以使用下面的公式:

double random_number = (double)rand() / RAND_MAX;

该公式会生成一个介于0和1之间的随机数。需要注意的是,每次调用rand()函数生成的随机数是相互独立的。如果需要生成更为随机的数列,可以在使用rand()函数之前调用srand()函数设置随机数种子,例如:

srand((unsigned)time(NULL));

time(NULL)函数返回当前时间的秒数,作为随机数种子。需要包含头文件

2.使用rand()函数和取模运算生成随机数

另一种生成0-1随机数的方法是使用rand()函数和取模运算。为了生成0或1的随机数,可以使用下面的代码:

int random_number = rand() % 2;

该代码会生成一个0或1的随机数,需要注意的是,rand()函数生成的随机数不是均等分布的,因此对于生成更为随机的数列,建议使用方法1。

3.使用C++11中的随机数库

C++11中引入了一个新的随机数库 ,其中包含了丰富的随机数生成工具,可以生成更为均等分布和随机的数列。为了生成0-1之间的随机数,可以使用下面的代码:

#include

double random_number = std::uniform_real_distribution (0, 1)(std::default_random_engine());

其中,std::uniform_real_distribution是一个用于生成平均分布随机数的工具, 表示生成的随机数类型;std::default_random_engine表示默认的随机数引擎,使用它生成随机数。该代码会生成一个介于0和1之间的随机数。

总之,生成0-1随机数的方法有很多,上述三种方法都是常用的方法,具体选择哪一种方法,可以根据需要随机数的均等分布程度以及性能等因素来进行选择。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复