Heim > Artikel > Backend-Entwicklung > Wie erzeuge ich zufällige Doppelzahlen mit angegebener Genauigkeit 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
<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!