在[0,1)之间随机生成
Generate random between [0, 1)
我想生成一个介于0和1之间的随机浮点值,不包括1,即[0, 1)
。我找了很多,但都找不到答案。我已经尝试了以下技巧,但它会生成负值
(double)rand()/(double)RAND_MAX-1;
您需要括号来强制执行正确的顺序:
(double)rand()/((double)RAND_MAX + 1);
还要注意,你需要+1,而不是-1。
您只需要除以RAND_MAX,包括+1。像这样:
(double)rand()/((double)RAND_MAX+1);
相关文章:
- 对于C++随机访问迭代器(矢量迭代器),迭代器之间的差异是如何计算的?
- 尝试查找数组中点之间的最小距离时的随机垃圾输出
- 生成一组随机的 x,y,z 数,它们之间和定义的限制之间具有最小差异
- 从本地工作,但在执行之间的随机端口上没有收到任何内容
- 分布在-DBL_MAX和DBL_MAX之间的随机双打
- 在 C/C++ 中生成介于 2 个限制之间的随机素数
- 生成它们之间有差异的随机坐标
- 我(伪)如何随机生成数字0和1(不是之间)
- 随机选择一个 0 到 8 之间的数字,直到没有数字可以选择,然后重新开始
- C++ - 将 0 到 9 之间的整数设置为特征库矩阵的随机值
- C++中的变量之间随机
- 从隐藏在随机字符之间的文件中提取整数
- C++ 创建一个介于 0.1 和 10 之间的随机小数
- 如何在 c++ 中生成介于 0 和变量之间的随机双精度
- 是否有一个随机函数可以生成 0 到 1 之间的数字
- C++中介于20和30之间的真随机整数
- 从一个0到1之间的随机生成的数字中滚动两个骰子给定次数C++
- 在[0,1)之间随机生成
- 如何在C++中随机生成的应用程序中在数字之间留出空格
- 生成0到1之间的随机实数