Home >Backend Development >C++ >How to Generate Random Numbers with Decimal Precision in C ?

How to Generate Random Numbers with Decimal Precision in C ?

Barbara Streisand
Barbara StreisandOriginal
2024-11-02 10:49:02669browse

How to Generate Random Numbers with Decimal Precision in C  ?

Generating Random Numbers with Decimal Precision in C

Random number generation is an essential tool in various programming applications. In C , there are several ways to generate random numbers, but the most straightforward approach for generating doubles with a specific format is through the std::uniform_real_distribution class.

To generate random double numbers within a specified interval, we can use the following steps:

  1. Include the Necessary Header: Include header file in the source code.
  2. Define Boundaries: Determine the lower and upper bounds of the interval from which we want to generate random numbers.
  3. Initialize Random Engine: Instantiate an instance of std::default_random_engine to generate a stream of random values.
  4. Create Uniform Distribution: Create an object of std::uniform_real_distribution with specified boundaries as arguments.
  5. Generate Random Double: Invoke the operator() of the distribution object using the random engine to produce a random double within the interval.
<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 code snippet generates a random double between 0 and 10000 with decimal precision, which meets the requirements of the question. For additional information, refer to John D. Cook's article on "Random number generation using C TR1" or Stroustrup's guide on "Random number generation."

The above is the detailed content of How to Generate Random Numbers with Decimal Precision in C ?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn