C随机数
在头文件<stdlib.h>中有int rand(void)随机数函数。
- 生成0到RAND_MAX之间的均匀整型数,RAND_MAX是stdlib.h中的宏定义#define RAND_MAX 32767
- 为了得到特定范围,通常会对生成的随机数取余:rand()%n,rand()%(n-m)+m
- void srand(unsigned int seed)设置随机数种子,种子不变的情况下,每次调用rand(),都会生成相同的随机数序列
-
rand()函数每次调用前都会查询是否调用过srand(seed),如果有那么它会自动调用srand(seed)一次来初始化它的起始值,若没有,则使用默认,即srand(1)自动调用它一次
- 使用double(rand())/RAND_MAX可以生成0-1范围内的随机浮点数,但精度会有问题,有的数取不到。
C++随机数
在头文件<random>中,定义了随机数引擎类、引擎适配器类和随机数分布类。
随机生成器
随机种子
随机数种子设定