Maison  >  Article  >  développement back-end  >  Comment générer des nombres doubles aléatoires avec une précision spécifiée en C ?

Comment générer des nombres doubles aléatoires avec une précision spécifiée en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 19:14:30561parcourir

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

Génération de nombres doubles aléatoires en C avec une précision spécifiée

Générer des nombres doubles aléatoires dans une plage spécifiée est une exigence courante en programmation. En particulier, lorsque vous avez besoin que les nombres aient une précision spécifique, telle que « xxxxx,aaaaa », cette tâche peut devenir un peu plus difficile. Heureusement, C fournit une bibliothèque robuste pour gérer la génération de nombres aléatoires.

La solution consiste à utiliser la classe uniform_real_distribution de la classe bibliothèque. Cette distribution peut générer des doubles aléatoires dans une plage spécifiée. Le code suivant montre comment utiliser cette classe :

<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>

Dans cet exemple, la plage est définie entre 0 et 10000. La distribution unif est initialisée avec ces limites. Pour générer un double aléatoire, le moteur re est utilisé pour alimenter la distribution. Le a_random_double résultant sera un nombre aléatoire dans la plage spécifiée.

Pour plus de détails sur la génération de nombres aléatoires en C, reportez-vous à la « Génération de nombres aléatoires à l'aide de C TR1 » de John D. Cook ou à la « Génération de nombres aléatoires » de Stroustrup. "

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn