rand()随机函数产生的值的范围?

问题描述:

rand()随机函数产生的值的范围?
rand 随机函数产生的值的范围是多少?
网上找到的一种答案是0-1000 内的某个数.
但是我怎么记得是0-1中的某个数呢?
到底是多少呢?
产生0-32之间的某个随机数的代码是否是:rand()%32+1
1个回答 分类:综合 2014-11-22

问题解答:

我来补答
cplusplus中有这样的介绍:
rand函数产生一个0到RAND_MAX的伪随机数,这里的RAND_MAX因不同的实现而异,但RAND_MAX至少为32767.(比如,MSVC中通常为0x7fff,即32767,而Linux平台下GCC中RAND_MAX通常会远远大于这个值)
有一些其他编程语言的rand函数确实是产生一个[0.0, 1.0)之间的浮点数.比如MATLAB.
在C中,
rand() % 32会产生一个[0, 32)之间的伪随机数,那么rand() % 32 + 1的取值区间实际上是[1, 33).
要产生[0, 32)(开区间)之间伪随机数:
rand() % 32即可;
要产生[0, 32](闭区间)之间伪随机数:
rand() % 33即可.
 
 
展开全文阅读
剩余:2000
上一页:椭圆简单性质
下一页:求解这个表格
也许感兴趣的知识