本文介绍了在 [0, 1) 之间生成随机数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想生成一个 0 到 1 之间不包括 1 的随机浮点值,即[0, 1)
.我已经搜索了很多,但我找不到这个问题的答案.我尝试了以下技巧,但它会产生负值
I want to generate a random float value between 0 and 1 excluding 1, I.e. [0, 1)
. I've searched a lot but I couldn't find an answer of this. I've tried the following trick however it generates a negative values
(double)rand()/(double)RAND_MAX-1;
推荐答案
你只需要除以 RAND_MAX 包括 +1.像这样:
You just need to divide by RAND_MAX including +1. Like this:
(double)rand()/((double)RAND_MAX+1);
这篇关于在 [0, 1) 之间生成随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!