用 C 语言生成指定精度的随机双精度数
生成指定范围内的随机双精度数是编程中的常见需求。特别是,当您需要数字具有特定的精度时,例如“xxxxx,yyyyy”,此任务可能会变得更具挑战性。幸运的是,C 提供了一个强大的库来处理随机数生成。
解决方案涉及使用
<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中文网其他相关文章!