”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在 C++ 中生成十进制精度的随机数?

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

发布于2024-11-10
浏览:313

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() 使用随机引擎在区间内生成随机双精度值。
#include 

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

    return 0;
}

该代码片段生成一个0到10000之间的带小数精度的随机双精度数,满足问题的要求。有关其他信息,请参阅 John D. Cook 的文章“使用 C TR1 生成随机数”或 Stroustrup 的“随机数生成”指南。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3