首页 > 后端开发 > C++ > 正文

如何在 C 中生成精确的随机双数?

Susan Sarandon
发布: 2024-10-31 20:49:02
原创
155 人浏览过

How to Generate Random Double Numbers with Precision in C  ?

在 C 中生成精确的随机双精度数

在 C 中,您可能会遇到需要在两个指定双精度值之间生成随机数的情况:所需的精度。本文提供了针对此要求的解决方案,特别关注生成“xxxxx,yyyyy”格式的数字。

为了实现此目的,我们利用 C 11 的 std::uniform_real_distribution 和 <code class="language-cpp">std ::default_random_engine 组件。下面的代码演示了如何实现此解决方案:

<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>
登录后复制

此解决方案使用 std::uniform_real_distribution 生成指定范围内的随机双数,而 <code class="language-cpp">std::default_random_engine 提供随机数源。

有关此解决方案的更多见解,请参阅 John D. Cook 的文章“使用 C TR1 生成随机数”。此外,您可能会发现 Bjarne Stroustrup 的“随机数生成”文章很有帮助。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!