Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erzeuge ich zufällige Doppelzahlen mit angegebener Genauigkeit in C?

Wie erzeuge ich zufällige Doppelzahlen mit angegebener Genauigkeit in C?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-30 19:14:30561Durchsuche

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

Zufällige Doppelzahlen in C mit angegebener Genauigkeit generieren

Zufällige Doppelzahlen innerhalb eines bestimmten Bereichs zu generieren ist eine häufige Anforderung in der Programmierung. Insbesondere wenn die Zahlen eine bestimmte Genauigkeit haben müssen, wie zum Beispiel „xxxxx,yyyyy“, kann diese Aufgabe etwas anspruchsvoller werden. Glücklicherweise bietet C eine robuste Bibliothek für die Handhabung der Zufallszahlengenerierung.

Die Lösung beinhaltet die Verwendung der Klasse uniform_real_distribution aus der Klasse Bibliothek. Diese Verteilung kann innerhalb eines bestimmten Bereichs zufällige Duplikate erzeugen. Der folgende Code zeigt, wie diese Klasse verwendet wird:

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

In diesem Beispiel wird der Bereich zwischen 0 und 10000 definiert. Die Unif-Verteilung wird mit diesen Grenzen initialisiert. Um ein zufälliges Double zu generieren, wird die Re-Engine verwendet, um sie in die Verteilung einzuspeisen. Das resultierende a_random_double wird eine Zufallszahl innerhalb des angegebenen Bereichs sein.

Weitere Einzelheiten zur Zufallszahlengenerierung in C finden Sie in „Random number generation using C TR1“ von John D. Cook oder „Random number generation“ von Stroustrup. „

Das obige ist der detaillierte Inhalt vonWie erzeuge ich zufällige Doppelzahlen mit angegebener Genauigkeit in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn