生成C中[-1,1]之间的随机数?

我已经看到很多关于这个特定主题的问题,但是没有一个对我有任何答案,因此我想到了这个问题。

我想生成一个介于[-1,1]之间的随机数。我该怎么做?

回答:

-1+2*((float)rand())/RAND_MAX

rand()生成[0,RAND_MAX]包含在内的整数,因此((float)rand())/RAND_MAX返回中的浮点数[0,1][-1,1]通过将其添加到中得到随机数-1

添加评论部分的相关部分)

((float)rand())/RAND_MAX返回一个百分比(从0到1的分数)。因此,由于-1到1之间的范围是2个整数,因此我将该分数乘以2,然后将其加到所需的最小数字-1上。这也告诉您有关随机数的质量,因为您将只有RAND_MAX唯一的随机数。

以上是 生成C中[-1,1]之间的随机数? 的全部内容, 来源链接: utcz.com/qa/407579.html

回到顶部