首页  >  文章  >  后端开发  >  如何在 C 中生成十进制精度的随机数?

如何在 C 中生成十进制精度的随机数?

Barbara Streisand
Barbara Streisand原创
2024-11-02 10:49:02587浏览

How to Generate Random Numbers with Decimal Precision in C  ?

在 C 中生成十进制精度的随机数

随机数生成是各种编程应用程序中的必备工具。在 C 中,有多种方法可以生成随机数,但生成特定格式的双精度数最直接的方法是通过 std::uniform_real_distribution 类。

要生成指定区间内的随机双精度数,我们可以使用以下步骤:

  1. 包含必要的标头:包含;源代码中的头文件。
  2. 定义边界:确定我们要生成随机数的区间的下限和上限。
  3. 初始化随机引擎: 实例化 std::default_random_engine 的实例以生成随机值流。
  4. 创建均匀分布: 创建一个具有指定边界的 std::uniform_real_distribution 对象:
  5. 生成随机双精度数:使用随机引擎调用分布对象的operator(),在区间内生成一个随机双精度数。
<code class="cpp">#include <random>

int main() {
    double lower_bound = 0;
    double upper_bound = 10000;
    std::uniform_real_distribution<double> unif(lower_bound, upper_bound);
    std::default_random_engine re;
    double a_random_double = unif(re);

    return 0;
}</code>

此代码片段生成一个 0 到 10000 之间的十进制精度的随机 double,满足问题的要求。有关更多信息,请参阅 John D. Cook 的文章“使用 C TR1 生成随机数”或 Stroustrup 的“随机数生成”指南。

以上是如何在 C 中生成十进制精度的随机数?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn