c语言用rand()取随机数能不能取的是小数???

2025-05-14 00:38:37
推荐回答(3个)
回答1:

rand()是生成一个从0到RAND_MAX的随机数,所以要生成小数,除以RAND_MAX就一定是一个小数:
(double)rand()/RAND_MAX
什么叫随机数?就是不确定的数,不过这个表达式,可以肯定的是从0到1的小数。

回答2:

rand的结果是0-32767之间的整数。如果要取小数,可以用除法。比如:
double r = rand() / 32768.0;
得到的r是0-1之间的小数(包括0,但不包括1)

回答3:

比如可以这样做:
float a = ( rand() ) * 0.001f; // 精度你可以自己决定。