在 [0, 1) 之间生成随机数 [英] Generate random between [0, 1)

查看:80
本文介绍了在 [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) 之间生成随机数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆