Generating Random Double Numbers with Precision in C
In C , you may encounter the need to generate random numbers between two specified doubles with the desired precision. This article provides a solution to this requirement, particularly focusing on generating numbers in the format of "xxxxx,yyyyy."
To achieve this, we utilize C 11's std::uniform_real_distribution and <code class="language-cpp">std::default_random_engine components. The code below demonstrates how to implement this solution:
<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>
This solution uses the std::uniform_real_distribution to generate random double numbers within the specified range, while the <code class="language-cpp">std::default_random_engine provides a source of random numbers.
For further insights into this solution, refer to John D. Cook's article on "Random number generation using C TR1." Additionally, you may find Bjarne Stroustrup's "Random number generation" article beneficial.
The above is the detailed content of How to Generate Random Double Numbers with Precision in C ?. For more information, please follow other related articles on the PHP Chinese website!