随机数时一个很常见的运用,可以通过随机数引擎生成随机数。头文件“#include <random>”
1.生成一个随机的无符号的整数
default_random_engine e;
for (size_t i = 0; i < 10; i++)
{
cout << e() << "";
}
//获取引擎类的最大最小的随机数值
unsingned int imax = e.min();
unsingned int imin = e.max();
2.生成一个指定范围内的数
uniform_int_distribution <unsigned> u(0, 9);
default_random_engine e;
for (size_t i = 0; i < 10; i++)
{
cout << u(e) << "";
}
3.生成一个0到1之间的浮点形数字
default_random_engine e;
uniform_real_distribution <unsigned> u(0, 1);
for (size_t i = 0; i < 10; i++)
{
cout << e() << "";
}
输出结果:0.131538 0.45865 0.67587
4.生成非均匀分布的随机数
default_random_engine e;
normal_distribution <> n(4, 1.5);//均值:4,标准差1.5
for (size_t i = 0; i < 10; i++)
{
cout << e() << ",";
}
5.rand函数生成随机数,这是C库的方法,它生成的是一个0到RAND_MAX间的随机数
default_random_engine e;
int randengin_min = e.min();
int randengin_max = e.max();
//结果:randengin_min =1;randengin_max =2147483646;
int _crand = rand();