首页  >  文章  >  后端开发  >  如何在 C 中生成指定精度的随机双数?

如何在 C 中生成指定精度的随机双数?

Patricia Arquette
Patricia Arquette原创
2024-10-30 19:14:30561浏览

How to Generate Random Double Numbers with Specified Precision in C  ?

用 C 语言生成指定精度的随机双精度数

生成指定范围内的随机双精度数是编程中的常见需求。特别是,当您需要数字具有特定的精度时,例如“xxxxx,yyyyy”,此任务可能会变得更具挑战性。幸运的是,C 提供了一个强大的库来处理随机数生成。

解决方案涉及使用 中的uniform_real_distribution 类。图书馆。该分布可以生成指定范围内的随机双精度数。以下代码演示了如何使用此类:

<code class="cpp">#include <random>

int main() {
   // Define the lower and upper bounds of the desired range
   double lower_bound = 0;
   double upper_bound = 10000;

   // Create a uniform real distribution within the specified range
   std::uniform_real_distribution<double> unif(lower_bound, upper_bound);

   // Initialize a random engine
   std::default_random_engine re;

   // Generate a random double using the distribution
   double a_random_double = unif(re);

   return 0;
}</code>

在此示例中,范围定义在 0 到 10000 之间。unif 分布使用这些边界进行初始化。为了生成随机双精度数,使用重新引擎将其输入到分布中。生成的 a_random_double 将是指定范围内的随机数。

有关 C 中随机数生成的更多详细信息,请参阅 John D. Cook 的“使用 C TR1 的随机数生成”或 Stroustrup 的“随机数生成”。 “

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

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