【问题标题】:C++ Random doubles from -1 to 1 [duplicate]C ++从-1到1的随机双打[重复]
【发布时间】:2018-09-09 00:57:24
【问题描述】:

我需要随机生成从 -1 到 1 的双精度数(使用 random())。例如,输出将类似于:

1, -0.3324, 0.7821, 0.9823, -0.111

等等...这就是我想要做的walk_Length = (double)rand()%2 - 1;

【问题讨论】:

  • 我看过那个教程,但我想知道如何修改它以使其从 -1 到 1 (含)?
  • 这不是“教程”,您应该完整阅读它,因为它告诉您如何通过多种方法给出范围。
  • 双精度值不是精确值所以有些值是不存在的,例如0.88在双精度和浮点中不存在。见stackoverflow.com/questions/9999221/…

标签: c++


【解决方案1】:

你可能会侥幸逃脱

double walk_Length = static_cast<double>(rand()) / RAND_MAX * 2 - 1;

【讨论】:

    猜你喜欢
    • 2013-11-12
    • 2011-04-22
    • 1970-01-01
    • 2021-01-06
    • 2017-05-28
    • 2013-01-02
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多