生成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